Junior
Nima bo'ladi, agar null bo'lishi mumkin bo'lgan ob'ekt maydoniga murojaat qilsangiz?
sobes.tech AI
AIdan javob
NullPointerException (NPE). Bu hodisa, ob'ektning metodini chaqirish yoki maydoniga murojaat qilishga harakat qilganda yuzaga keladi, va bu ob'ektning havolasi null bo'lsa.
Misol:
data class User(val name: String)
fun printUserName(user: User?) {
// Agar user == null bo'lsa, NullPointerException yuzaga keladi
println(user.name)
}
NPEdan qochish uchun quyidagilarni ishlatishingiz mumkin:
- null tekshiruvlar:
fun printUserName(user: User?) { if (user != null) { println(user.name) } else { println("Foydalanuvchi null") } } - Xavfsiz chaqirish operatori (
?.):fun printUserName(user: User?) { println(user?.name) // Agar user null bo'lsa, null chiqaradi, aks holda ism } - Elvis operator (
?:):fun printUserName(user: User?) { val userName = user?.name ?: "Standart nom" // Agar user?.name null bo'lsa, "Standart nom" ni tayinlaydi println(userName) } - Null bo'lmagan turlar (Kotlin):
// Bu metod faqat null bo'lmagan User ob'ektini qabul qiladi fun printUserName(user: User) { println(user.name) // Garantili, null emas }