Kotlin में ?: ऑपरेटर क्या करता है? (एल्विस ऑपरेटर)
नमस्ते! मैंने अभी Java के बाद Kotlin सीखना शुरू किया है और एक अजीब ?: ऑपरेटर देखा। मैंने इसे किसी और के कोड में देखा, लेकिन समझ नहीं पाया कि यह क्या करता है।
यहाँ एक उदाहरण है जो मुझे मिला:
```kotlin
val name: String? = null
val displayName = name ?: "अतिथि"
println(displayName) // "अतिथि" प्रिंट करता है
```
अगर मैं इसे if-else के माध्यम से लिखूं, तो इसमें 3-4 लाइनें लगती हैं। तो क्या ?: एक संक्षिप्त सिंटैक्स है? लेकिन मुझे यकीन नहीं है कि इसका उपयोग कब करना चाहिए और कब सामान्य जाँच से काम चलाना चाहिए।
मैंने यह अजीब कोड भी देखा:
```kotlin
val length = text?.length ?: 0
```
यहाँ पहले ?. (safe call) आता है, फिर ?:। क्या यह वैध है? और अगर text null है तो क्या होगा?
कृपया समझाएँ कि यह ऑपरेटर कैसे काम करता है, यह सामान्य if-else से कैसे अलग है, और क्या इसके कोई नुकसान हैं। पहले से धन्यवाद!