在android java类中使用Kotlin扩展

是否有可能在android java类中使用kotlin扩展? 例:

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

那么在Java中使用它就像:

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

这可能吗?

你可以混合kotlin和java(在java类中使用/ call kotlin类)但是你想在这里使用java中的kotlin特性 – 这是不可能的

Kotlin的扩展函数被编译为以接收器作为第一个参数的JVM方法。 如果您的扩展函数是在顶层声明的,例如在名为file.kt的文件中:

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

然后,在Java中,可以从相应的文件类调用静态方法:

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