The best part about Kotlin is its interoperability with Java. Also, with IntelliJ-based IDE, we can directly convert our Java code to Kotlin. In this recipe, we will see how to do it.
Converting Java code to Kotlin and vice versa
Getting ready
This recipe needs IntelliJ-based IDE installed, which compiles and runs Kotlin and Java.
How to do it...
Let's see the steps to convert a Kotlin file to a Java 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.
Shown 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).