Junior
Kas notiks, ja pieejat objekta laukam, kurš var būt null?
sobes.tech AI
Atbilde no AI
NullPointerException (NPE). Notiek, kad mēģināt izsaukt metodi vai piekļūt objekta laukam, kura atsauce ir null.
Piemērs:
data class User(val name: String)
fun printUserName(user: User?) {
// Ja user == null, notiks NullPointerException
println(user.name)
}
Lai izvairītos no NPE, vari izmantot:
- null pārbaudes:
fun printUserName(user: User?) { if (user != null) { println(user.name) } else { println("Lietotājs ir null") } } - Drošas izsaukšanas operators (
?.):fun printUserName(user: User?) { println(user?.name) // Izvadīs null, ja user == null, citādi vārdu } - Elvis operators (
?:):fun printUserName(user: User?) { val userName = user?.name ?: "Noklusējuma vārds" // Piešķirs "Noklusējuma vārds", ja user?.name ir null println(userName) } - Kotlin ne-null tipi:
// Šī metode pieņem tikai ne-null User objektu fun printUserName(user: User) { println(user.name) // Garantēti nav null }