में जावा शून्य प्रकार का उपयोग करना मेरे पास एक जावा फ़ंक्शन है जिसके लिए मुझे टाइप बाधाओं के कारण Void
पैरामीटर पारित करने की आवश्यकता है। कुछ की तरह:कोटलिन
void foo(Void v) {
// do something
}
अब मैं Kotlin से कि समारोह कॉल करना चाहते हैं, लेकिन संकलक शिकायत है कि प्रकार के संगत जब मैं null
से कॉल करने की जैसे मैं जावा से होगा नहीं हैं:
foo(null);
मुझे उस फ़ंक्शन को पास करने के लिए क्या करना है ताकि कोटलिन कंपाइलर इसे स्वीकार कर सके?
अद्यतन: वास्तविक कोड इस तरह दिखता है:
fun foo(): Map<String, Void> {
return mapOf(Pair("foo", null))
}
अद्यतन: का उपयोग कर null as Void
वास्तव में या तो काम नहीं करता है: अपने Kotlin प्लगइन अद्यतन करने के लिए
kotlin.TypeCastException: null cannot be cast to non-null type java.lang.Void
आप trie है डी परिवर्तक को हाथ से पहले शून्य करने के लिए सेटिंग? क्या एक आईएनटी या ऑब्जेक्ट का उपयोग कर कार्य है? यदि ऐसा है तो आप इसे कोशिश करने और इसे बदलने या इसे बदलने से पहले इसे पूर्ण पर सेट कर सकते हैं। क्या यह एक तरीका है जिसे आप बुला रहे हैं या क्या आप इसे किसी अन्य वर्ग से विरासत में ले रहे हैं? – colt
असल में मैं एक ऐसा फ़ंक्शन विरासत में प्राप्त कर रहा हूं जिसे 'मानचित्र <स्ट्रिंग, शून्य>' वापस लौटाया जाना चाहिए और 'वापस लौटना चाहते हैं' (air ("foo", null)) ' – TBieniek
कंपाइलर द्वारा दिया गया सही त्रुटि संदेश क्या है? मैं एक अलग नमूने में समस्या को पुन: उत्पन्न करने में सक्षम नहीं था, यानी आप 'शून्य' पैरामीटर –