是否可以在android java类中使用kotlin扩展? 例如:
fun String.getSomething(): String {
return "something"
}
然后在Java中使用它:
String someString = "blabla";
someString.getSomething();
这可能吗?
答案 0 :(得分:21)
Kotlin的扩展函数被编译为JVM方法,将接收器作为第一个参数。如果您的扩展函数在顶层声明,例如在名为file.kt
的文件中<:p>
package foo
fun String.getSomething(): String {
return "something"
}
然后,在Java中,您可以从相应的file class:
调用静态方法import foo.FileKt;
...
String someString = "blabla";
FileKt.getSomething(someString);
答案 1 :(得分:6)
你可以混合使用kotlin和java(在java类中使用/调用kotlin类) 但你想要的是在java中使用kotlin功能 - 这是不可能的