Avatar ·

Wie überprüft man, ob eine lateinit-Variable in Kotlin initialisiert wurde?

Hallo Kollegen! Ich habe vor relativ kurzer Zeit angefangen, in Kotlin zu schreiben, und bin auf eine Situation gestoßen. Ich habe eine Klasse, in der ich `lateinit var` für eine Eigenschaft verwende. Es funktioniert alles, aber ich möchte sicher überprüfen, ob diese Eigenschaft bereits initialisiert wurde, bevor ich darauf zugreife. Wenn ich versuche, auf eine nicht initialisierte `lateinit`-Variable zuzugreifen, erhalte ich eine `UninitializedPropertyAccessException`, die das Programm zum Absturz bringt. Hier ist ein Beispiel meines Codes: ```kotlin class MyApp { lateinit var user: User fun setup() { // Hier kann user initialisiert sein oder auch nicht if (someCondition) { user = User("Alice") } } fun printUser() { // Ich möchte überprüfen, ob user initialisiert ist, um einen Fehler zu vermeiden println(user.name) // Wenn nicht initialisiert — gibt es eine Exception } } ``` Ich habe versucht, `if (user != null)` zu schreiben, aber der Compiler meckert, dass man `lateinit`-Variablen nicht so überprüfen kann. In der Dok