Android 11 Nullability Kontrolü

Güncelleme tarihi: 17 Haz 2021


Görsel Referansı


Kotlinde nullability nasıl çalışır?


Kotlinde kod yazarken bir değişkenin null alabileceğini soru işareti(?) operatörü ile belirtebiliriz.


KOTLIN

var x: Int = 1
x = null // compilation error

var y: Int? = 1
y = null // okay

Kotlin'in bu yönü kodunuzu daha güvenli bir hale getirir. Böylece x gibi null almayan bir değişkene erişmek istediğinizde NullPointerException riski yaşamazsınız.


Nullability Java ile nasıl çalışır?


Tüm Android API'ları Kotlin ile yazılmamıştır. Bu sebeple Kotlin kullanmayan bir API kullandığınızda null kontrolünü nasıl yönetebilirsiniz? Bu durumda Kotlin derleyicisi Java'da

Nullable annotation'ları tanıyacaktır.


JAVA

public @Nullable String getCurrentName() {
   return currentName;
}

@Nullable annotation'u sayesinde bir Kotlin classınızda işlem yapmaya kalktığınızda null check yapmadan kullanmanıza izin vermez. Bunu Android Studio'da denerseniz bir hata alırsınız ve derleme yapamazsınız. Ancak @NonNull içeren bir kodu Kotlin classınızda çağırdığınızda buna null bir değer atamanıza izin vermeyecektir. Bu sayede Android Studio, NullPointerException'a karşı daha güvenli kod yazmanıza olanak tanıyacaktır.


Aynı zamanda Kotlin derleyicisi @Nullable ve @NonNull ile aynı özellikleri sağlayan @RecentlyNullable ve @Rece