How do I run a Kotlin class on command line?

I can’t run a compiled Kotlin class. When I try to run it like I would a normal Java class I get the following: C:\Users\User\Desktop>java _DefaultPackage Exception in thread “main” java.lang.NoClassDefFoundError: jet/runtime/Intrinsics at _DefaultPackage.main(Finder.kt) Caused by: java.lang.ClassNotFoundException: jet.runtime.Intrinsics at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) … 1 […]

Read More

What is the best way to do a reverse lookup on an enum in Kotlin?

I’m trying to find the best way to do a ‘reverse lookup’ on an enum in Kotlin. One of my takeaways from Effective Java was that you introduce a static map inside the enum to handle the reverse lookup. Porting this over to Kotlin with a simple enum leads me to code that looks like […]

Read More

What is the difference between List and Array types in Kotlin?

What is the difference between List and Array types? It seems like we can perform the same operations with them (loops, filter expression, etc..), is there any difference in behavior or usage? val names1 = listOf(“Joe”,”Ben”,”Thomas”) val names2 = arrayOf(“Joe”,”Ben”,”Thomas”) for (name in names1) println(name) for (name in names2) println(name) Solution Arrays and lists (represented by List<T> and its subtype MutableList<T>) have many differences, […]

Read More

How to sort based on/compare multiple values in Kotlin?

Say I have a class Foo(val a: String, val b: Int, val c: Date) and I want to sort a list of Foos based on all three properties. How would I go about this? Solution Kotlin’s stdlib offers a number of useful helper methods for this. First, you can define a comparator using the compareBy() method and pass it to […]

Read More

What is Kotlin?

What is Kotlin? Kotlin is a statically typed programming language that runs on the JVM (or Java Virtual Machine). It can be operated on multiple platforms and is compatible with Java, Android, JavaScript, as well as native applications. The language is developed by the team at JetBrains. JetBrains is committed to the project, has a […]

Read More

How to use Data Binding and Kotlin in Android Studio 3.0.0

I just started to use Android Studio 3.0.0, but every time I try to build my project I get this error: Error:Circular dependency between the following tasks: :app:compileDebugKotlin +— :app:dataBindingExportBuildInfoDebug | — :app:compileDebugKotlin (*) — :app:kaptDebugKotlin — :app:dataBindingExportBuildInfoDebug (*) (*) – details omitted (listed previously) I am using kapt “com.android.databinding:compiler:2.2.0” Before I was using androidProcessor […]

Read More

What is the equivalent of Java static methods in Kotlin?

There is no static keyword in Kotlin. What is the best way to represent a static Java method in Kotlin? Solution You place the function in the “companion object”. So the java code like this: class Foo { public static int a() { return 1; } } will become class Foo { companion object { […]

Read More

Why do we use “companion object” as a kind of replacement for Java static fields in Kotlin?

What is the intended meaning of “companion object”? So far I have been using it just to replace Java’s static when I need it. I am confused with: Why is it called “companion”? Does it mean that to create multiple static properties, I have to group it together inside companion object block? To instantly create […]

Read More

Kotlin – Property initialization using “by lazy” vs. “lateinit”

In Kotlin if you don’t want to initiate a class property inside the constructor or in the top of the class body, you have basically these two options ( from the language reference): Lazy Initialization lazy() is a function that takes a lambda and returns an instance of Lazy which can serve as a delegate […]

Read More

How to convert a kotlin source file to a java source file

I have a Kotlin source file, but I want to translate it to Java. How can I convert Kotlin to Java source? Solution In IntelliJ or Android Studio, you just have to do the following to get java code from kotlin: Menu>Tools>Kotlin>Show Kotlin Bytecode Click on the Decompile button Copy the java code This question was reposted […]

Read More