Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Android

कोटलिन डबल-बैंग (!!) ऑपरेटर क्या है?

<घंटा/>

कोटलिन में, "!!" एक ऑपरेटर है जिसे डबल-बैंग ऑपरेटर के रूप में जाना जाता है। इस ऑपरेटर को "न-नल अभिकथन ऑपरेटर" के रूप में भी जाना जाता है। इस ऑपरेटर का उपयोग किसी भी मान को गैर-नल प्रकार मान में बदलने के लिए किया जाता है और यदि संबंधित मान न्यूल है तो यह अपवाद फेंकता है। निम्नलिखित उदाहरण में, हम देखेंगे कि इस डबल-बैंग ऑपरेटर का उपयोग कैसे करें।

उदाहरण 1

इस उदाहरण में, हम एक चर "name" . पर विचार करेंगे और एक प्रोग्रामर के रूप में, जब भी "name" . का मान होता है, हम एक NULL पॉइंटर एक्सेप्शन फेंकना चाहते हैं शून्य है। अब, निम्न कोड निष्पादित करें

 फन मेन (तर्क:ऐरे <स्ट्रिंग>) {var नाम:स्ट्रिंग? नाम =शून्य प्रिंट्लन (नाम)}

आउटपुट

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

<पूर्व>शून्य

यह कोड वास्तव में हमारे आवश्यकता विवरण को हल नहीं कर रहा है। जब भी "name" . का मान होता है, हम एक NULL पॉइंटर अपवाद फेंकना चाहते हैं शून्य है। आइए अपने पिछले उदाहरण को डबल-बैंग ऑपरेटर (!!) की मदद से संशोधित करें।

उदाहरण 2

 फन मेन (तर्क:ऐरे <स्ट्रिंग>) {var नाम:स्ट्रिंग? name =null // अधिभार अस्पष्टता अपवाद को हल करने के लिए कुछ भी उपयोग नहीं किया गया है println(name!! is कुछ भी नहीं है?)}

आउटपुट

यह रनटाइम पर एक NULL पॉइंटर एक्सेप्शन फेंक देगा -

थ्रेड में अपवाद "मुख्य" java.lang.NullPointerExceptionat MainKt.main(main.kt:6)

  1. मेरा नाम जेफ मेमे क्या है?

    यदि आपने 2017 की शुरुआत में ऐप बंद होने से पहले वाइन पर वीडियो देखने में कोई समय बिताया है, तो आपको माई नेम इज जेफ मेम याद हो सकता है। आज, फिल्म का यह प्रसिद्ध उद्धरण 22 जंप स्ट्रीट टिकटॉक और इसी तरह के प्लेटफॉर्म पर पॉप अप जारी है। माई नेम इज जेफ मेमे की उत्पत्ति लाइन माई नेम इज जेफ 22 जंप स्ट्र

  1. पायथन के ** ऑपरेटर की सहयोगीता क्या है?

    पायथन डॉक्स से: एक ही बॉक्स समूह में बाएँ से दाएँ (तुलना को छोड़कर), परीक्षण सहित, जिनमें सभी की प्राथमिकता समान होती है और बाएँ से दाएँ श्रृंखला - अनुभाग तुलना देखें - और घातांक, कौन से समूह दाएँ से बाएँ)। तो ** ऑपरेटर (घातांक) दाएं से बाएं सहयोगी है। उदाहरण के लिए, 2 ** 3 ** 4 will be evaluated

  1. पायथन में &=ऑपरेटर क्या करता है?

    +=ऑपरेटर ऑब्जेक्ट के लिए सिंटैक्टिक शुगर है।__iand__() फ़ंक्शन। पायथन डॉक्स से: इन विधियों को संवर्धित अंकगणितीय असाइनमेंट को लागू करने के लिए कहा जाता है (+=, -=, *=, @=, /=, //=, %=, **=, =, &=, ^=, |=). इन विधियों को ऑपरेशन को जगह में करने का प्रयास करना चाहिए (स्वयं को संशोधित करना) और परिणाम व