Junior
Koddaki null değerleri nasıl kontrol etmeliyiz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Kotlin'de nullable tiplerle çalışmak ve null kontrolü yapmak için aşağıdaki yaklaşımlar kullanılır:
-
Güvenli çağrı operatörü (
?.): Bir nesnenin metodlarını çağırmak veya özelliklerine erişmek, nesnenulldeğilse mümkündür. Nesnenullise, çağrınulldöner. -
Elvis operatörü (
?:): Sol taraftaki ifadenullise, varsayılan bir değer sağlar. -
Güvensiz çağrı operatörü (
!!): Nullable tipi non-nullable yapar. Eğer değernullise,NullPointerExceptionfırlatılır. Kullanımı şiddetle önerilmez, çünkü uygulamanın çökmesine neden olabilir. -
ifbloğu ilenullkontrolü: Geleneksel kontrol yöntemidir ve genellikle Kotlin'in smart cast'larıyla birlikte kullanılır.
// Güvenli çağrı operatörü ?.
val length = text?.length
// `null` kontrolünden sonra smart cast
if (text != null) {
val length = text.length // text otomatik olarak String (non-nullable) olarak cast edilir
}
// Elvis operatörü ?:
val nonNullText = text ?: "Varsayılan Metin"
// Güvensiz çağrı operatörü !! (mümkün olduğunca kaçınılmalı)
val forceLength = text!!.length // NullPointerException atabilir
Java'da null kontrolü yalnızca if koşullarıyla yapılır:
// Java
if (text != null) {
int length = text.length();
} else {
// `text` null ise işlemler
}