{"id":20428333,"url":"https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison","last_synced_at":"2025-04-12T19:23:52.833Z","repository":{"id":143399968,"uuid":"145370738","full_name":"tomasbjerre/yet-another-kotlin-vs-java-comparison","owner":"tomasbjerre","description":"Shows complete examples where the Kotlin code is compiled to bytecode and decompiled to Java","archived":false,"fork":false,"pushed_at":"2019-09-28T07:11:02.000Z","size":1650,"stargazers_count":18,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-26T13:45:32.056Z","etag":null,"topics":["comparison","java","kotlin","kotlin-vs-java"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tomasbjerre.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["tomasbjerre"]}},"created_at":"2018-08-20T05:37:12.000Z","updated_at":"2023-12-29T02:48:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"4446a7c4-92fe-4fcf-9855-f398a0d2cf90","html_url":"https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomasbjerre%2Fyet-another-kotlin-vs-java-comparison","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomasbjerre%2Fyet-another-kotlin-vs-java-comparison/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomasbjerre%2Fyet-another-kotlin-vs-java-comparison/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomasbjerre%2Fyet-another-kotlin-vs-java-comparison/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tomasbjerre","download_url":"https://codeload.github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248619237,"owners_count":21134376,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["comparison","java","kotlin","kotlin-vs-java"],"created_at":"2024-11-15T07:25:18.582Z","updated_at":"2025-04-12T19:23:52.825Z","avatar_url":"https://github.com/tomasbjerre.png","language":"Java","funding_links":["https://github.com/sponsors/tomasbjerre"],"categories":[],"sub_categories":[],"readme":"\n# Yet Another Kotlin VS Java Comparison\n\nThis 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.\n\n## Examples\n\nThe examples are organized like the examples in the [Kotlin Reference](https://kotlinlang.org/docs/reference/).\n\n## Basics \n* **Control Flow**\n  * [Assign From If](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/basics/controliiiflow/p01assigniiifromiiiif.md)\n  * [Assign If Not Null](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/basics/controliiiflow/p02assigniiiifiiinotiiinull.md)\n  * [When](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/basics/controliiiflow/p02when.md)\n* **Returns Jumps**\n  * [Loop Labels](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/basics/returnsiiijumps/p01loopiiilabels.md)\n  * [Return To Label](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/basics/returnsiiijumps/p02returniiitoiiilabel.md)\n## Classes And Objects \n* **Classes And Inheritance**\n  * [Empty Class](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p01emptyiiiclass.md)\n  * [Constructor Param](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p02constructoriiiparam.md)\n  * [Init Order Demo](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p03initiiiorderiiidemo.md)\n  * [Constructor To Attribute](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p04constructoriiitoiiiattribute.md)\n  * [Init From Constructor](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p05initiiifromiiiconstructor.md)\n  * [Constructor With Annotation](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p06constructoriiiwithiiiannotation.md)\n  * [Secondary Constructor](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p07secondaryiiiconstructor.md)\n  * [Default Values](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p08defaultiiivalues.md)\n  * [Instantiation](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p09instantiation.md)\n  * [Open Closed Data Object](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p10openiiiclosediiidataiiiobject.md)\n  * [Inheritance](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p11inheritance.md)\n  * [Inheritance No Primary Constructor](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p12inheritanceiiinoiiiprimaryiiiconstructor.md)\n  * [Override Method](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p13overrideiiimethod.md)\n  * [Derived Class Initialization Order](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p14derivediiiclassiiiinitializationiiiorder.md)\n  * [Inner Class](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p15inneriiiclass.md)\n  * [Overriding Rules](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/classesiiiandiiiinheritance/p16overridingiiirules.md)\n* **Data Classes**\n  * [Class Body And Constructor](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/dataiiiclasses/p01classiiibodyiiiandiiiconstructor.md)\n  * [Copy](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/dataiiiclasses/p02copy.md)\n  * [Destructing](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/dataiiiclasses/p03destructing.md)\n  * [Data](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/dataiiiclasses/p10data.md)\n* **Generics**\n  * [Out Parameter](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/generics/p01outiiiparameter.md)\n  * [In Parameter](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/generics/p02iniiiparameter.md)\n  * [Copy Out Parameter](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/generics/p03copyiiioutiiiparameter.md)\n* **Nested Classes**\n  * [Nested Class](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/nestediiiclasses/p01nestediiiclass.md)\n  * [Inner Class](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/nestediiiclasses/p02inneriiiclass.md)\n  * [Anonymous Class](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/nestediiiclasses/p03anonymousiiiclass.md)\n* **Objects**\n  * [Object](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/objects/p01object.md)\n  * [Companion And Jvmstatic](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/objects/p02companioniiiandiiijvmstatic.md)\n* **Properties**\n  * [Properties And Fields](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/properties/p01propertiesiiiandiiifields.md)\n  * [Setter With Annotation](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/properties/p02setteriiiwithiiiannotation.md)\n  * [Var And Val](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/properties/p03variiiandiiival.md)\n  * [Lateinit](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/properties/p04lateinit.md)\n* **Sealed Classes**\n  * [Sealed Class](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/sealediiiclasses/p01sealediiiclass.md)\n  * [Not Sealed](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/classesiiiandiiiobjects/sealediiiclasses/p02notiiisealed.md)\n## Functions And Lambdas \n* **Functions**\n  * [Tail Recursive](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/functionsiiiandiiilambdas/functions/p01tailiiirecursive.md)\n  * [Single Expression](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/functionsiiiandiiilambdas/functions/p02singleiiiexpression.md)\n  * [Infix](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/functionsiiiandiiilambdas/functions/p03infix.md)\n## Mixed \n* **Extensions**\n  * [Extending Standard Library](https://github.com/tomasbjerre/yet-another-kotlin-vs-java-comparison/blob/master/doc/mixed/extensions/p01extendingiiistandardiiilibrary.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomasbjerre%2Fyet-another-kotlin-vs-java-comparison","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomasbjerre%2Fyet-another-kotlin-vs-java-comparison","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomasbjerre%2Fyet-another-kotlin-vs-java-comparison/lists"}