Est-il possible d'accéder aux fonctions d'extension à partir du code Java?
J'ai défini la fonction d'extension dans un fichier Kotlin.
package com.test.extensions
import com.test.model.MyModel
/**
*
*/
public fun MyModel.bar(): Int {
return this.name.length()
}
Où MyModel
est une classe java (générée). Maintenant, je voulais y accéder dans mon code java normal:
MyModel model = new MyModel();
model.bar();
Cependant, cela ne fonctionne pas. L'EDI ne reconnaîtra pas la bar()
méthode et la compilation échoue.
Ce qui fonctionne est d'utiliser avec une fonction statique de kotlin:
public fun bar(): Int {
return 2*2
}
en utilisant import com.test.extensions.ExtensionsPackage
donc mon IDE semble être configuré correctement.
J'ai cherché dans tout le fichier Java-interop à partir de la documentation kotlin et j'ai beaucoup cherché sur Google, mais je ne l'ai pas trouvé.
Qu'est-ce que je fais mal? Est-ce seulement possible?
com.test.extensions.ExtensionsPackage
import package com.test.extensions.MyModel
?