अगर मैं एक नल Boolean b
है, मैं जावा में निम्नलिखित तुलना कर सकते हैं यदि:बूलियन का उपयोग? में अभिव्यक्ति
val b: Boolean? = ...
if (b != null && b!!) {
/* Do something */
} else {
/* Do something else */
}
हालांकि:
Boolean b = ...;
if (b != null && b) {
/* Do something */
} else {
/* Do something else */
}
Kotlin में, मैं एक ही !!
ऑपरेटर का उपयोग करके प्राप्त कर सकते हैं , !!
का उपयोग मुझे थोड़ा सा स्केची महसूस करता है, जो शून्य सुरक्षा प्रणाली को बाधित करता है।
क्या इसके लिए और अधिक सुरुचिपूर्ण दृष्टिकोण है?
संपादित ऐसा लगता है मैं थोड़ा oversimplicated। स्थानीय चर के लिए, Banthar दिखाता है, यह काम करता है। हालांकि, मेरे बूलियन b
वास्तव में एक "बैकिंग फ़ील्ड के साथ संपत्ति" है (मैं वास्तव में अभी तक गति तक नहीं हूं जो यह लागू करता है)।
आपको क्यों चाहिए !!बी 'और बस' बी' नहीं? (मैं कोटलिन से परिचित नहीं हूं, सिर्फ curios) – Maroun
@MarounMaroun चूंकि 'बी'' शून्य 'हो सकता है और कोटलिन की विशेषताओं में से एक [शून्य सुरक्षा] है (http://kotlinlang.org/docs/reference/null- security.html # the - ऑपरेटर), जो निरर्थक संदर्भों का मूल्यांकन करने का प्रयास करते समय संकलन त्रुटियों को देता है। इस प्रकार, सादा 'बी' का उपयोग संकलन त्रुटि देता है :) – nhaarman
लेकिन सही पक्ष की जांच करने से पहले' b! = Nil' पकड़ नहीं होगा? – Maroun