Junior
Bir null olabilecek nesne alanına başvurulursa ne olur?
sobes.tech yapay zeka
AI'dan gelen yanıt
NullPointerException (NPE). Bir nesnenin metodunu çağırmaya veya alanına erişmeye çalıştığınızda olur, referansı null ise.
Örnek:
data class User(val name: String)
fun printUserName(user: User?) {
// Eğer user == null ise, NullPointerException oluşur
println(user.name)
}
NPE'yi önlemek için şu yöntemleri kullanabilirsiniz:
- null kontrolleri:
fun printUserName(user: User?) { if (user != null) { println(user.name) } else { println("Kullanıcı null") } } - Güvenli çağrı operatörü (
?.):fun printUserName(user: User?) { println(user?.name) // user null ise null, değilse isim yazdırır } - Elvis operatörü (
?:):fun printUserName(user: User?) { val userName = user?.name ?: "Varsayılan İsim" // user?.name null ise "Varsayılan İsim" atar println(userName) } - Null olmayan tipler (Kotlin'de):
// Bu metod sadece null olmayan User nesnesi kabul eder fun printUserName(user: User) { println(user.name) // Null değil garantili }