Можно ли получить доступ к функциям расширения из кода Java?
Я определил функцию расширения в файле Kotlin.
package com.test.extensions
import com.test.model.MyModel
/**
*
*/
public fun MyModel.bar(): Int {
return this.name.length()
}
Где MyModel
(сгенерированный) класс Java. Теперь я хотел получить к нему доступ в своем обычном коде Java:
MyModel model = new MyModel();
model.bar();
Однако это не работает. Среда не распознает bar()
метод, и компиляция не удалась.
Что работает, использует статическую функцию из kotlin:
public fun bar(): Int {
return 2*2
}
с помощью import com.test.extensions.ExtensionsPackage
так мой IDE , кажется, настроен правильно.
Я искал весь файл взаимодействия с Java из документации kotlin, а также много гуглил, но не смог его найти.
Что я делаю не так? Это вообще возможно?
com.test.extensions.ExtensionsPackage
import package com.test.extensions.MyModel
?