从 Java 访问 Kotlin 扩展函数


在 Kotlin 中,你可以通过在主函数运行的当前 Kotlin 文件中导入函数,轻松地调用另一个函数。无论我们在 Kotlin 文件中声明什么函数,默认情况下编译器都会将其编译成一个静态方法,并且将其放在同一包中。新创建的文件名称将被命名为首字母大写且.kt扩展名被Kt后缀替换。

在本文中,我们将尝试深入了解如何从 Java 文件中使用 Kotlin 扩展方法。

示例

让我们创建一个 Kotlin 文件,并将其命名为"myExt.kt",并在其中放置以下代码。

Package com.extension fun String.myFunc():String{ return "Welcome to Kotlin Extension File" }

现在,我们可以通过导入相同函数,像下面一样轻松地访问另一个 Kotlin 文件中的此扩展。

Package com.model // Using this import statement, // you can directly use this function // in another Kotlin function. import com.extension.myFunc

现在,我们的任务是在 Java 环境中使用此函数。

在 Java 部分中,我们假设我们有以下 Java 文件,并且我们想在其中使用我们之前生成的扩展方法。

Package com.service // The newly created file that can be accessed via JVM import com.extension.myExtKT public class MyClass { public static void main(String args[]) { System.out.println(myExtKT.myFunc();); } }

你可以使用 Kotlin 编译器创建的这个新的静态文件直接使用你的 Kotlin 扩展方法。

输出

执行以上代码段后,它将生成以下输出。

Welcome to Kotlin Extension File

更新日期: 23-11-2021

2K+ 浏览

开启你的 职业生涯

完成课程以获得认证

开始
广告