Junior
Null ola biləcək obyekt sahəsinə müraciət etsəniz nə baş verər?
sobes.tech Süni İntellekt
AI-dan cavab
NullPointerException (NPE). Ob'ektin metodunu çağırmağa və ya sahəsinə müraciət etməyə çalışdığınız zaman baş verir və həmin referans null-a bərabərdirsə.
Misal:
data class User(val name: String)
fun printUserName(user: User?) {
// Əgər user == null isə, NullPointerException baş verəcək
println(user.name)
}
NPE-dən qaçmaq üçün aşağıdakı üsullardan istifadə edə bilərsiniz:
- null yoxlamaları:
fun printUserName(user: User?) { if (user != null) { println(user.name) } else { println("İstifadəçi null") } } - Təhlükəsiz çağırış operatoru (
?.):fun printUserName(user: User?) { println(user?.name) // user null isə null, yoxsa adı göstərəcək } - Elvis operatoru (
?:):fun printUserName(user: User?) { val userName = user?.name ?: "Default Name" // Əgər user?.name null isə, "Default Name" təyin edir println(userName) } - Null olmayan tiplər (Kotlin-də):
// Bu metod yalnız null olmayan User obyektini qəbul edir fun printUserName(user: User) { println(user.name) // Garantili, null deyil }