कोटलिन में एक विस्मयादिबोधक चिह्न का क्या अर्थ है? मैंने जावा एपीआई का उपयोग करते समय इसे कुछ बार देखा है। लेकिन मैं इसे दस्तावेज़ीकरण में नहीं मिला और न ही स्टैक ओवरफ्लो पर।कोटलिन में एकल विस्मयादिबोधक चिह्न
उत्तर
उन्हें platform types कहा जाता है और उनका मतलब है कि कोटलिन को यह नहीं पता कि यह मान null
हो सकता है या नहीं और यह तय करने के लिए आप पर निर्भर है कि यह शून्य है या नहीं।
संक्षेप में, समस्या किसी भी संदर्भ जावा से आ रही अशक्त हो सकता है, और Kotlin, डिजाइन द्वारा अशक्त-सुरक्षित किया जा रहा है, करने के लिए उपयोगकर्ता के लिए मजबूर हर जावा मान शून्य से जाँच करें, या सुरक्षित कॉल का उपयोग है (
?.
) या गैर-शून्य दावे (!!
)। शुद्ध कोटलिन दुनिया में बहुत ही आसान विशेषताएं होने पर, आप कोटलिन/जावा सेटिंग में अक्सर उपयोग करने के दौरान आपदा में बदल जाते हैं।यही कारण है कि हम एक कट्टरपंथी दृष्टिकोण लिया और Kotlin के प्रकार प्रणाली अधिक आराम जब जावा इंटरॉप के लिए आता है बनाया: अब जावा से आ रही संदर्भ विशेष रूप से चिह्नित किया है प्रकार - Kotlin Blog
यह platform types के लिए अंकन है:
T!
का अर्थ है "T
या T?
"
एक प्रकार !
साथ notated मंच कहा जाता है टाइप करें, जो कि जावा से आ रहा है और इस प्रकार शायद null
हो सकता है। जावा को कॉल करते समय कोटलिन कंपाइलर डिफ़ॉल्ट रूप से अनुमान लगाता है (सबसे बुनियादी मामलों के लिए, जावा विधियां annotated हो सकती हैं)। आपको प्लेटफ़ॉर्म प्रकारों को नालीबल प्रकारों के रूप में संभालना चाहिए, जब तक आप निश्चित रूप से नहीं जानते कि विशेष API कभी भी null
वापस नहीं करेगा। कंपाइलर प्लेटफार्म प्रकारों को शून्य और गैर-शून्य प्रकारों के चर के लिए आवंटित करने की अनुमति देता है।
[...]
T!
का अर्थ है "T or T?
" [...]
आप "के रूप में अज्ञात के प्रकार मंच प्रकार की जानकारी दे सकती शून्यता "। यह जानना भी महत्वपूर्ण है कि आप अपने स्वयं के प्रकार के लिए विस्मयादिबोधक-प्रकार के प्रकार का उपयोग नहीं कर सकते हैं, यह कोटलिन सिंटैक्स का हिस्सा नहीं है, यह केवल एक संकेत है।
- 1. डीएलएल पर विस्मयादिबोधक चिह्न समस्या?
- 2. जावा ग्रहण लाल विस्मयादिबोधक चिह्न
- 3. .xlsm फ़ाइल पर विस्मयादिबोधक चिह्न
- 4. एक्सीप्से में लाल विस्मयादिबोधक चिह्न Mercurial
- 5. फेसबुक एपीआई नाम में विस्मयादिबोधक चिह्न गायब
- 6. कर्ल उपयोगकर्ता प्रमाणीकरण में विस्मयादिबोधक चिह्न/पासवर्ड
- 7. #! फ़ोल्डर के रूप में लिंक में हैशटैग और विस्मयादिबोधक चिह्न?
- 8. वाईएएमएल में एक विस्मयादिबोधक चिह्न क्या करता है?
- 9. हास्केल घोषणा में विस्मयादिबोधक चिह्न का क्या अर्थ है?
- 10. रूबी विधियों में विस्मयादिबोधक चिह्न क्यों उपयोग किए जाते हैं?
- 11. angularjs ऐप में हैश (#!) के बाद विस्मयादिबोधक चिह्न
- 12. बराबर चिह्न से पहले तारांकन क्या होता है (* =)? विस्मयादिबोधक चिह्न के बारे में क्या?
- 13. लिनक्स पर विस्मयादिबोधक चिह्न के साथ तर्क कैसे पारित करें?
- 14. नामकरण सम्मेलन: अंत में # हटाए गए अंत में कोई विस्मयादिबोधक चिह्न क्यों नहीं है?
- 15. आईट्यून्स कनेक्ट में अंग्रेजी (भाषा ड्रॉपडाउन) के बगल में लाल विस्मयादिबोधक चिह्न क्या है?
- 16. आईएमएपी "सर्च हेडर" कमांड विफल रहता है जब खोज-पाठ में विस्मयादिबोधक चिह्न (!), एम्परसेंड (&), आदि
- 17. प्रिंटल क्यों करता है! समारोह जंग में एक विस्मयादिबोधक चिह्न का उपयोग करें?
- 18. रेल i18N अनुवाद yml फ़ाइल में विस्मयादिबोधक चिह्न का क्या अर्थ है?
- 19. संदर्भों के सामने लाल विस्मयादिबोधक चिह्न आइकन VS2010 में क्या मतलब है?
- 20. मैं कोणीय का उपयोग कर रहा हूं, और मेरे यूआरएल में हमेशा "!" होता है (विस्मयादिबोधक चिह्न)
- 21. बैश स्क्रिप्ट में डबल विस्मयादिबोधक
- 22. ग्रहण में लाल विस्मयादिबोधक बिंदु आइकन का क्या अर्थ है?
- 23. विंडोज़ के ऊपरी दाएं भाग में विस्मयादिबोधक बिंदु - बंद बटन
- 24. फ़ाइल नामों के लिए खोज रहे हैं! (एक विस्मयादिबोधक चिह्न) विंडोज
- 25. स्ट्रिंग से अक्षरों, संख्याओं, स्थान, विस्मयादिबोधक और प्रश्न चिह्न के अलावा सब कुछ कैसे निकालें?
- 26. डबल विस्मयादिबोधक बिंदु?
- 27. कोटलिन
- 28. कोटलिन
- 29. कोटलिन
- 30. कोटलिन