জাভা কোড থেকে এক্সটেনশন ফাংশন অ্যাক্সেস করা সম্ভব?
আমি কোনও কোটলিন ফাইলটিতে এক্সটেনশন ফাংশনটি সংজ্ঞায়িত করেছি।
package com.test.extensions
import com.test.model.MyModel
/**
*
*/
public fun MyModel.bar(): Int {
return this.name.length()
}
যেখানে MyModel
একটি (উত্পন্ন) জাভা ক্লাস। এখন, আমি এটি আমার সাধারণ জাভা কোডটিতে অ্যাক্সেস করতে চেয়েছি:
MyModel model = new MyModel();
model.bar();
তবে, এটি কাজ করে না। আইডিই bar()
পদ্ধতিটি সনাক্ত করতে পারে না এবং সংকলন ব্যর্থ হয়।
কোটলিনের স্থির ফাংশন সহ কী কাজ করে:
public fun bar(): Int {
return 2*2
}
import com.test.extensions.ExtensionsPackage
সুতরাং ব্যবহার করে আমার IDE সঠিকভাবে কনফিগার করা আছে বলে মনে হচ্ছে।
আমি কোটলিন ডক্স থেকে পুরো জাভা-ইন্টারপ ফাইলটি অনুসন্ধান করেছি এবং অনেকগুলি গুগলও করেছি, তবে এটি খুঁজে পেলাম না।
আমি কি ভুল করছি? এটা কি সম্ভব?
com.test.extensions.ExtensionsPackage
import package com.test.extensions.MyModel
?