Junior
Čo sa stane, ak sa obrátiť na pole objektu, ktorý môže byť null?
sobes.tech AI
Odpoveď od AI
NullPointerException (NPE). Nastane, keď sa pokúsite zavolať metódu alebo pristúpiť k poľu objektu, ktorého odkaz je null.
Príklad:
data class User(val name: String)
fun printUserName(user: User?) {
// Ak je user == null, nastane NullPointerException
println(user.name)
}
Aby ste sa vyhli NPE, môžete použiť:
- Kontroly na null:
fun printUserName(user: User?) { if (user != null) { println(user.name) } else { println("Používateľ je null") } } - Bezpečný operátor volania (
?.):fun printUserName(user: User?) { println(user?.name) // Vypíše null, ak je user null, inak meno } - Elvisov operátor (
?:):fun printUserName(user: User?) { val userName = user?.name ?: "Predvolený názov" // Priradí "Predvolený názov", ak je user?.name null println(userName) } - Nef-nullové typy (v Kotlin):
// Táto metóda akceptuje iba ne-nullový objekt User fun printUserName(user: User) { println(user.name) // Garantovane nie null }