在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运行时,Kotlin Kapt不显示数据绑定错误
  • Kotlin:从Firebase获取数据
  • 我可以在没有Kotlin的情况下运行Android Studio 3.0吗?
  • 如何修复在Kotlin中创建一个Spinner的时候,在一个Fragment的旋转屏幕上指定为非null的参数为null?
  • Kotlin自定义对话框指定为非null的参数
  • 如何从kotlin的匿名类实现中更改全局variables
  • 如何禁用RecyclerView滚动?
  • 我们如何在不使用第三方库的情况下在kotlin中定义id?
  • 将数据显示从Java转换为Kotlin
  • 在Android应用中,Firebase登录失败
  • Android Kotlin类实现的问题
  • Kotlin language will be the best programming language for Android.