क्या जावा कोड से विस्तार कार्यों को एक्सेस करना संभव है?
मैंने कोटलिन फ़ाइल में एक्सटेंशन फ़ंक्शन को परिभाषित किया।
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()
विधि को नहीं पहचानता है और संकलन विफल हो जाता है।
क्या काम करता है kotlin से एक स्थिर समारोह के साथ प्रयोग कर रहा है:
public fun bar(): Int {
return 2*2
}
import com.test.extensions.ExtensionsPackage
मेरे आईडीई के उपयोग से ऐसा लगता है कि यह ठीक से कॉन्फ़िगर किया गया है
मैंने कोटलिन डॉक्स से पूरे जावा-इंटरॉप फ़ाइल के माध्यम से खोज की और बहुत कुछ गुगला भी किया, लेकिन मुझे यह नहीं मिला।
मैं क्या गलत कर रहा हूं? क्या यह भी संभव है?
com.test.extensions.ExtensionsPackage
import package com.test.extensions.MyModel
?