Kotlin में lateinit वेरिएबल इनिशियलाइज़ हुई है या नहीं, कैसे जाँचें?
नमस्ते साथियों! मैंने हाल ही में Kotlin में लिखना शुरू किया है और मुझे ऐसी स्थिति का सामना करना पड़ा। मेरे पास एक क्लास है जिसमें मैं एक प्रॉपर्टी के लिए `lateinit var` का उपयोग कर रहा हूँ। सब कुछ काम करता है, लेकिन मैं सुरक्षित रूप से जाँचना चाहता हूँ कि क्या यह प्रॉपर्टी पहले से इनिशियलाइज़ हो चुकी है, इससे पहले कि मैं इसे एक्सेस करूँ। अगर मैं एक अनइनिशियलाइज़्ड `lateinit` वेरिएबल को एक्सेस करने की कोशिश करता हूँ, तो मुझे `UninitializedPropertyAccessException` मिलता है, जो प्रोग्राम को तोड़ देता है।
यहाँ मेरे कोड का एक उदाहरण है:
```kotlin
class MyApp {
lateinit var user: User
fun setup() {
// यहाँ user इनिशियलाइज़ हो सकता है या नहीं भी
if (someCondition) {
user = User("Alice")
}
}
fun printUser() {
// मैं जाँचना चाहता हूँ कि user इनिशियलाइज़ हुआ है या नहीं, ताकि एरर से बचा जा सके
println(user.name) // अगर इनिशियलाइज़ नहीं हुआ — तो एक्सेप्शन आएगा
}
}
```
मैंने `if (user != null)` लिखने की कोशिश की, लेकिन कंपाइलर शिकायत करता है कि `lateinit` वेरिएबल को इस तरह जाँच नहीं सकते। डॉक में...