2 min read

This Kotlin programming tutorial has been taken from Kotlin Programming Cookbook

One of the best things about Kotlin is its interoperability with Java. If you’re a Java programmer, that should be a reason to start learning alone. If you’re using an IntelliJ-based IDE, it’s actually incredibly easy to convert Java code to Kotlin. In this step-by-step recipe, you’ll find out how to do it.

What you need to convert your Java code to Kotlin

All you need to follow this recipe is an IntelliJ-based IDE installed, which compiles and runs Kotlin and Java.

How to do it…

Here are the steps you need to follow to convert a Java file to a Kotlin file:

In your IntelliJ IDE, open the Java file that you want to convert to Kotlin.

Note that it has a .java extension. Now, in the main menu, click on Code menu and choose the Convert Java File to Kotlin File option. Your Java file will be converted into Kotlin, and the extension will now be .kt.

 Here is an example of a Java file:


After converting to Kotlin, this is what we have:


A Kotlin file can be converted into Java, but it’s better if you can avoid it or find an alternative way to do it. If you have to absolutely convert your Kotlin code to Java, click on Tools | Kotlin | Show Kotlin Bytecode in the menu:


After clicking on Show Kotlin Bytecode, a window will open with the title Kotlin Bytecode:


Click on Decompile and a .java file will be generated, containing a decompiled Java bytecode from Kotlin code:


Yes, it has a lot of unnecessary code that was not present in the original Java code, but that is the case with decompiled bytecode. At the moment, this is the only way to convert Kotlin code to Java. Copy the decompiled file into a .java file and remove the unnecessary code.

How it works

Kotlin is a statically-typed programming language that works on Java Virtual Machine and compiles into JVM compatible bytecode. This is the reason we can convert Java code to Kotlin and mix Java and Kotlin code together.  This is also the reason why you can, in a way, get Java code back from Kotlin (although the output is not completely desired).


Please enter your comment!
Please enter your name here