CodeBlanks Logo Icon CodeBlanks

Nullable türler

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

Main.kt
fun main() {
    // String? türünde null bir name tanımla ve yazdır
}

Örnek çözüm

Main.kt
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

Soru
val name: ____ = null
Cevap
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

Başlangıç bölümündeki tüm dersler