将 Kotlin 扩展方法添加到纯 Java 库
Adding Kotlin extension methods to a pure Java library
我正在开发一个纯 Java 库并想添加一些 Kotlin 特定的扩展方法。
有没有办法将这些扩展方法添加到已经存在的纯 Java JAR 中,或者我是否被迫创建一个必须单独发布的新的 Kotlin 特定模块?如果是这样,Java 用户会以何种方式看到它们?
我不介意使用 Kotlin 编译器编译我的库,如果这样可以避免仅仅为 3 行代码发布单独的 JAR。
我需要这些扩展方法来解决 Java 和 Kotlin 之间的类型推断/方法引用解析差异。
扩展方法被编译为静态 Java 方法,例如从 app.kt
到 class AppKt
,即它们可用于 Java 作为使用 AppKt.method()
、as explained in the documentation.
很好
您的 Java 代码和 Kotlin 代码都编译为 Java 字节码 class 文件,并且可以放入同一个 jar 中,即无需运送多个 jar。我选择的用于构建 Kotlin/Java 代码的个人构建系统是 Gradle,但这取决于您。
我正在开发一个纯 Java 库并想添加一些 Kotlin 特定的扩展方法。 有没有办法将这些扩展方法添加到已经存在的纯 Java JAR 中,或者我是否被迫创建一个必须单独发布的新的 Kotlin 特定模块?如果是这样,Java 用户会以何种方式看到它们?
我不介意使用 Kotlin 编译器编译我的库,如果这样可以避免仅仅为 3 行代码发布单独的 JAR。
我需要这些扩展方法来解决 Java 和 Kotlin 之间的类型推断/方法引用解析差异。
扩展方法被编译为静态 Java 方法,例如从 app.kt
到 class AppKt
,即它们可用于 Java 作为使用 AppKt.method()
、as explained in the documentation.
您的 Java 代码和 Kotlin 代码都编译为 Java 字节码 class 文件,并且可以放入同一个 jar 中,即无需运送多个 jar。我选择的用于构建 Kotlin/Java 代码的个人构建系统是 Gradle,但这取决于您。