เป็นไปได้หรือไม่ที่จะเข้าถึงฟังก์ชั่นส่วนขยายจากรหัส 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();
อย่างไรก็ตามนั่นไม่ได้ผล IDE จะไม่รู้จักbar()
วิธีการและการรวบรวมล้มเหลว
สิ่งที่ใช้กับฟังก์ชั่นคงที่จาก kotlin:
public fun bar(): Int {
return 2*2
}
โดยใช้import com.test.extensions.ExtensionsPackage
ดังนั้น IDE ของฉันดูเหมือนว่าจะกำหนดค่าอย่างถูกต้อง
ฉันค้นหาผ่านไฟล์ Java-interop ทั้งหมดจาก kotlin docs และ googled มาก แต่ฉันหามันไม่เจอ
ผมทำอะไรผิดหรือเปล่า? เป็นไปได้ไหม
com.test.extensions.ExtensionsPackage
import package com.test.extensions.MyModel
?