An open API service indexing awesome lists of open source software.

https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison

Shows complete examples where the Kotlin code is compiled to bytecode and decompiled to Java
https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison

comparison java kotlin kotlin-vs-java

Last synced: about 1 year ago
JSON representation

Shows complete examples where the Kotlin code is compiled to bytecode and decompiled to Java

Awesome Lists containing this project

README

          

# Yet Another Kotlin VS Java Comparison

This one shows complete examples where the Kotlin code is compiled to bytecode and decompiled to Java. Enabling a person familiar with Java to very quickly understand Kotlin.

## Examples

The examples are organized like the examples in the [Kotlin Reference](https://kotlinlang.org/docs/reference/).

## Basics
* **Control Flow**
* [Assign From If](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/basics/controliiiflow/p01assigniiifromiiiif.md)
* [Assign If Not Null](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/basics/controliiiflow/p02assigniiiifiiinotiiinull.md)
* [When](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/basics/controliiiflow/p02when.md)
* **Returns Jumps**
* [Loop Labels](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/basics/returnsiiijumps/p01loopiiilabels.md)
* [Return To Label](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/basics/returnsiiijumps/p02returniiitoiiilabel.md)
## Classes And Objects
* **Classes And Inheritance**
* [Empty Class](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p01emptyiiiclass.md)
* [Constructor Param](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p02constructoriiiparam.md)
* [Init Order Demo](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p03initiiiorderiiidemo.md)
* [Constructor To Attribute](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p04constructoriiitoiiiattribute.md)
* [Init From Constructor](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p05initiiifromiiiconstructor.md)
* [Constructor With Annotation](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p06constructoriiiwithiiiannotation.md)
* [Secondary Constructor](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p07secondaryiiiconstructor.md)
* [Default Values](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p08defaultiiivalues.md)
* [Instantiation](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p09instantiation.md)
* [Open Closed Data Object](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p10openiiiclosediiidataiiiobject.md)
* [Inheritance](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p11inheritance.md)
* [Inheritance No Primary Constructor](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p12inheritanceiiinoiiiprimaryiiiconstructor.md)
* [Override Method](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p13overrideiiimethod.md)
* [Derived Class Initialization Order](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p14derivediiiclassiiiinitializationiiiorder.md)
* [Inner Class](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p15inneriiiclass.md)
* [Overriding Rules](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p16overridingiiirules.md)
* **Data Classes**
* [Class Body And Constructor](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/dataiiiclasses/p01classiiibodyiiiandiiiconstructor.md)
* [Copy](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/dataiiiclasses/p02copy.md)
* [Destructing](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/dataiiiclasses/p03destructing.md)
* [Data](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/dataiiiclasses/p10data.md)
* **Generics**
* [Out Parameter](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/generics/p01outiiiparameter.md)
* [In Parameter](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/generics/p02iniiiparameter.md)
* [Copy Out Parameter](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/generics/p03copyiiioutiiiparameter.md)
* **Nested Classes**
* [Nested Class](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/nestediiiclasses/p01nestediiiclass.md)
* [Inner Class](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/nestediiiclasses/p02inneriiiclass.md)
* [Anonymous Class](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/nestediiiclasses/p03anonymousiiiclass.md)
* **Objects**
* [Object](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/objects/p01object.md)
* [Companion And Jvmstatic](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/objects/p02companioniiiandiiijvmstatic.md)
* **Properties**
* [Properties And Fields](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/properties/p01propertiesiiiandiiifields.md)
* [Setter With Annotation](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/properties/p02setteriiiwithiiiannotation.md)
* [Var And Val](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/properties/p03variiiandiiival.md)
* [Lateinit](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/properties/p04lateinit.md)
* **Sealed Classes**
* [Sealed Class](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/sealediiiclasses/p01sealediiiclass.md)
* [Not Sealed](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/sealediiiclasses/p02notiiisealed.md)
## Functions And Lambdas
* **Functions**
* [Tail Recursive](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/functionsiiiandiiilambdas/functions/p01tailiiirecursive.md)
* [Single Expression](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/functionsiiiandiiilambdas/functions/p02singleiiiexpression.md)
* [Infix](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/functionsiiiandiiilambdas/functions/p03infix.md)
## Mixed
* **Extensions**
* [Extending Standard Library](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/mixed/extensions/p01extendingiiistandardiiilibrary.md)