在 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);