Junior
Was passiert, wenn auf ein Feld eines Objekts zugegriffen wird, das null sein kann?
sobes.tech KI
Antwort von AI
NullPointerException (NPE). Tritt auf, wenn Sie versuchen, eine Methode aufzurufen oder auf ein Feld eines Objekts zuzugreifen, dessen Referenz null ist.
Beispiel:
data class User(val name: String)
fun printUserName(user: User?) {
// Wenn user == null, tritt eine NullPointerException auf
println(user.name)
}
Um NPE zu vermeiden, können Sie:
- Null-Checks verwenden:
fun printUserName(user: User?) { if (user != null) { println(user.name) } else { println("Benutzer ist null") } } - Sicherer Aufruf-Operator (
?.):fun printUserName(user: User?) { println(user?.name) // Gibt null aus, wenn user == null, sonst den Namen } - Elvis-Operator (
?:):fun printUserName(user: User?) { val userName = user?.name ?: "Standardname" // Weist "Standardname" zu, wenn user?.name == null println(userName) } - Nicht-null-Typen (in Kotlin):
// Diese Methode akzeptiert nur nicht-null-Objekte vom Typ User fun printUserName(user: User) { println(user.name) // Garantiert nicht null }