Java kodundan uzantı işlevlerine erişmek mümkün müdür?
Bir Kotlin dosyasında uzantı işlevini tanımladım.
package com.test.extensions
import com.test.model.MyModel
/**
*
*/
public fun MyModel.bar(): Int {
return this.name.length()
}
MyModel
(Üretilen) bir java sınıfı nerede . Şimdi, normal java kodumda erişmek istedim:
MyModel model = new MyModel();
model.bar();
Ancak, bu işe yaramaz. IDE bar()
yöntemi tanımaz ve derleme başarısız olur.
Kotlin'in statik fonksiyonuyla ne işe yarar?
public fun bar(): Int {
return 2*2
}
kullanarak import com.test.extensions.ExtensionsPackage
yani benim IDE doğru yapılandırılmış gibi görünüyor.
Kotlin belgelerinden tüm Java-birlikte çalışma dosyasını aradım ve çok fazla googledim, ancak bulamadım.
Neyi yanlış yapıyorum? Bu mümkün mü?
com.test.extensions.ExtensionsPackage
import package com.test.extensions.MyModel
?