在 android java class 中使用 Kotlin 扩展
Use Kotlin extension in android java class
是否可以在 android java class 中使用 kotlin 扩展?
示例:
fun String.getSomething(): String {
return "something"
}
然后在 Java 中像这样使用它:
String someString = "blabla";
someString.getSomething();
这可能吗?
您可以混合使用 kotlin 和 java(use/call kotlin 类 in java 类 )
但是你在这里想要的是在 java 中使用 kotlin 功能 - 这是不可能的
Kotlin 的扩展函数被编译为以接收者为第一个参数的 JVM 方法。如果您的扩展函数是在顶层声明的,例如在名为 file.kt
:
的文件中
package foo
fun String.getSomething(): String {
return "something"
}
然后,在Java中,可以从对应的file class中调用静态方法:
import foo.FileKt;
...
String someString = "blabla";
FileKt.getSomething(someString);
是否可以在 android java class 中使用 kotlin 扩展? 示例:
fun String.getSomething(): String {
return "something"
}
然后在 Java 中像这样使用它:
String someString = "blabla";
someString.getSomething();
这可能吗?
您可以混合使用 kotlin 和 java(use/call kotlin 类 in java 类 ) 但是你在这里想要的是在 java 中使用 kotlin 功能 - 这是不可能的
Kotlin 的扩展函数被编译为以接收者为第一个参数的 JVM 方法。如果您的扩展函数是在顶层声明的,例如在名为 file.kt
:
package foo
fun String.getSomething(): String {
return "something"
}
然后,在Java中,可以从对应的file class中调用静态方法:
import foo.FileKt;
...
String someString = "blabla";
FileKt.getSomething(someString);