Чи можливий доступ до функцій розширення з коду Java?
Я визначив функцію розширення у файлі Котліна.
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();
Однак це не працює. IDE не розпізнає bar()
метод, і компіляція не вдається.
Для чого використовується статична функція від kotlin:
public fun bar(): Int {
return 2*2
}
використовуючи, import com.test.extensions.ExtensionsPackage
таким чином, мій IDE, здається, правильно налаштований.
Я переглянув весь Java-interop файл у документах kotlin, а також багато в Google, але не зміг його знайти.
Що я роблю неправильно? Це навіть можливо?
com.test.extensions.ExtensionsPackage
import package com.test.extensions.MyModel
?