È possibile accedere alle funzioni di estensione dal codice Java?
Ho definito la funzione di estensione in un file Kotlin.
package com.test.extensions
import com.test.model.MyModel
/**
*
*/
public fun MyModel.bar(): Int {
return this.name.length()
}
Dov'è MyModel
una classe java (generata). Ora, volevo accedervi nel mio normale codice java:
MyModel model = new MyModel();
model.bar();
Tuttavia, ciò non funziona. L'IDE non riconoscerà il bar()
metodo e la compilazione non riuscirà .
Cosa funziona usando una funzione statica di kotlin:
public fun bar(): Int {
return 2*2
}
usando import com.test.extensions.ExtensionsPackage
così il mio IDE sembra essere configurato correttamente.
Ho cercato attraverso l'intero file Java-interop dai documenti di Kotlin e ho anche cercato su Google molto, ma non sono riuscito a trovarlo.
Che cosa sto facendo di sbagliato? È possibile?
com.test.extensions.ExtensionsPackage
import package com.test.extensions.MyModel
?