在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类中使用/调用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 Studio 3.0未解决的参考:SupportedLanguages for AIConfiguration类在Dialogflow(api.ai)
  • Kotlin构建时不会发生Android API版本检查
  • 为什么我不能指定我的Kotlin文件在Android Studio中的位置?
  • 用Kotlin完成另一个Android的活动
  • Android / Kotlin:未解决的参考:木材
  • Android号码选择器键盘types
  • Kotlin对象加载延迟
  • Butterknife突然停止工作
  • Android Studio自动完成吐司(Kotlin)的快捷方式
  • 房间,KOTLIN问题只与果冻豆
  • lateinitVar无法解析使用从Kotlin 1.2.10 isInitialized
  • Kotlin language will be the best programming language for Android.