Avatar ·

Äquivalent der Swift 'if let'-Konstruktion in Kotlin für sicheres Arbeiten mit nullable-Typen

Hallo zusammen! Ich habe gerade angefangen, Kotlin nach Swift zu lernen, und bin auf ein Problem gestoßen. In Swift habe ich oft die `if let`-Konstruktion verwendet, um optionale Werte sicher zu entpacken. Zum Beispiel: ```swift var name: String? = "Alice" if let unwrappedName = name { print("Hello, \(unwrappedName)") } else { print("Name is nil") } ``` Das erlaubt mir zu prüfen, ob ein Wert im Optional vorhanden ist, und wenn ja, ihn automatisch zu entpacken und innerhalb des Blocks zu verwenden. Sehr praktisch, um force unwrapping zu vermeiden. In Kotlin sehe ich, dass Typen nullable (mit `?`) und non-null sein können. Aber ich finde kein direktes Äquivalent zu `if let`. Ich habe es so versucht: ```kotlin var name: String? = "Alice" if (name != null) { println("Hello, $name") } ``` Aber das funktioniert nur, wenn die Variable `name` zwischen der Prüfung und der Verwendung nicht geändert wird (der Compiler ist intelligent, das ist smart cast). Was ist, wenn ich eine neue Variable mit einem non-null Typ erstellen möchte, wie in Swift? Oder wenn ich mit veränderlichen Variablen arbeite?