Informatic0re
Informatic0re

Reputation: 6340

Use Kotlin extension in android java class

Is it possible to use a kotlin extension in a android java class? Example:

fun String.getSomething(): String {
    return "something"
}

then in Java use it like:

String someString = "blabla";
someString.getSomething();

is this possible?

Upvotes: 16

Views: 6908

Answers (2)

Alexander Udalov
Alexander Udalov

Reputation: 32766

Kotlin's extension functions are compiled to JVM methods taking the receiver as the first parameter. If your extension function is declared on the top level, for example in a file named file.kt:

package foo

fun String.getSomething(): String {
    return "something"
}

Then, in Java, you can call the static method from the corresponding file class:

import foo.FileKt;

...

String someString = "blabla";
FileKt.getSomething(someString);

Upvotes: 32

ligi
ligi

Reputation: 39519

You can mix kotlin and java ( use/call kotlin classes in java classes ) But what you want here is use a kotlin feature in java - this is not possible

Upvotes: 7

Related Questions