Avatar ·

Kotlin में null/nil क्या है और इसके साथ कैसे काम करें?

सभी को नमस्ते! Java के बाद Kotlin सीखना शुरू किया है और इस भाषा में null की अवधारणा को पूरी तरह से समझ नहीं पा रहा हूँ। Java में, null एक सामान्य reference है जिसे किसी भी object को assign किया जा सकता है, और हम लगातार NullPointerException से जूझते रहते हैं। Kotlin में, जैसा कि मैंने समझा, types डिफ़ॉल्ट रूप से non-null होते हैं, और null के साथ काम करने के लिए विशेष constructs का उपयोग करना होता है।

मेरे कुछ विशिष्ट प्रश्न और समस्याएँ हैं:

  1. क्या मैं सही समझ रहा हूँ कि String? (प्रश्न चिह्न के साथ) एक nullable type है, और String non-null है? और अगर मैं बिना प्रश्न चिह्न के String type के variable में null assign करने की कोशिश करूँ, तो compilation error होगी?
  2. मैंने एक सरल कोड लिखने की कोशिश की, लेकिन वह compile नहीं होता:
fun main() {
    val name: String? = null
    println(name.length) // Error: Only safe (?.) or non-null asserted (!!.) calls are allowed
}

मुझे उम्मीद थी कि runtime पर exception फेंका जाएगा, जैसे Java में होता है।