Nullable türler
- Kotlin kursu
- Başlangıç
- Ders 77/116
- 5 dk
String? ve nullable türleri öğrenirsin.
Nullable türler: String?
Kotlin'de varsayılan olarak bir tür null alamaz. val name: String = null derleme hatasıdır. Bir değişkenin null olabilmesi için türün sonuna ? eklenir: String?.
val name: String? = null // doğru
val city: String = null // derleme hatası? işareti o türün nullable olduğunu bildirir; böylece derleyici null-riski derleme zamanında izler. Bu, çalışma zamanı NullPointerException hatlarını büyük ölçüde önler.
Nullable değişken neden kullanılır?
Bazen bir değerin gerçekten "yok" olması gerekir: veritabanından henüz gelmemiş bir alan, kullanıcının boş bıraktığı bir giriş, ya da hedefi olmayan bir arama. null, bu "değer yok" durumunu açıkça ifade eder.
val nickname: String? = null
val realName: String? = "Ayşe"Nullable tür, programcıya null-riskini bilinçli olarak yönetmesini bildirir. Sonraki derslerde göreceğin ?., !! ve ?: operatörleri bu yönetimin araçlarıdır.
Uygulama Nullable name'i null ile yazdır
Bir val name: String? = null tanımla ve println(name) ile yazdır.
Başlangıç kodu
fun main() {
// String? türünde null bir name tanımla ve yazdır
}Örnek çözüm
fun main() {
val name: String? = null
println(name)
}Beklenen çıktı
null
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 val name: String = null ne olur?
- Derleme hatası verir Doğru cevap
- name = null olur
- Çalışma zamanı Exception fırlatır
- Unit döner
Açıklama: String (sonda ? yok) null alamaz; derleme hatası verir.
2 Boşluğu doldur: nullable tür
val name: ____ = null
val name: String? = null
Açıklama: String? null alabilen türdür.
3 İfadeyi anlamıyla eşleştir
| Kavram | Anlamı |
|---|---|
String |
null alamaz |
String? |
null alabilir |
? |
Nullable işareti |
null |
Değer yok |