从 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+ 浏览

开启你的 职业生涯

完成课程以获得认证

开始
广告
© . All rights reserved.