Verwenden Sie Kotlin Extension in android java Klasse

Ist es möglich, eine kotlin-Erweiterung in einer Android-Java-Klasse zu verwenden? Beispiel:

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

Dann in Java benutze es wie:

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

Ist das möglich?

  • Android Studio und Kotlin: Ungelöste Referenz: auch
  • Kotlin Klasse NoClassDefFoundError Absturz
  • 2 Solutions collect form web for “Verwenden Sie Kotlin Extension in android java Klasse”

    Sie können kotlin und java (verwenden / call kotlin Klassen in Java-Klassen) Aber was Sie hier wollen, ist eine Kotlin-Funktion in Java – das ist nicht möglich

    Die Erweiterungsfunktionen von Kotlin werden mit JVM-Methoden kompiliert, wobei der Empfänger als erster Parameter verwendet wird. Wenn Ihre Erweiterungsfunktion auf der obersten Ebene deklariert ist, zB in einer Datei namens file.kt :

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

    Dann können Sie in Java die statische Methode aus der entsprechenden Dateiklasse aufrufen:

     import foo.FileKt; ... String someString = "blabla"; FileKt.getSomething(someString); 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.