在android java类中使用Kotlin扩展

是否有可能在android java类中使用kotlin扩展? 例:

fun String.getSomething(): String { return "something" } 

那么在Java中使用它就像:

 String someString = "blabla"; someString.getSomething(); 

这可能吗?

2 Solutions collect form web for “在android java类中使用Kotlin扩展”

你可以混合kotlin和java(在java类中使用/ call kotlin类)但是你想在这里使用java中的kotlin特性 – 这是不可能的

Kotlin的扩展函数被编译为以接收器作为第一个参数的JVM方法。 如果您的扩展函数是在顶层声明的,例如在名为file.kt的文件中:

 package foo fun String.getSomething(): String { return "something" } 

然后,在Java中,可以从相应的文件类调用静态方法:

 import foo.FileKt; ... String someString = "blabla"; FileKt.getSomething(someString); 
  • 如何使用Android中的Kotlin从NavigationView的headerLayout中指定的布局访问视图
  • 需要Kotlin函数什么都不是,而是定义为一个不同的types
  • 为什么可空数字不保存身份
  • 扩展方法和扩展属性是不好的做法吗?
  • 扩展函数不会创建新的Observable对象
  • Kotlins扩展方法Stream.toList()丢失
  • 点击一个文本视图来改变片段
  • 为什么我们有在Kotlin中命名为componentN的函数?
  • 如何引用Kotlin中的匿名内部类?
  • Kotlin:创建扩展函数文件?加
  • 如何在父上下文中创建变量
  • Kotlin language will be the best programming language for Android.