Menu
Coddy logo textTech

Null Değil Doğrulaması

Coddy'nin Kotlin Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 17 / 93.

Güvenli çağrı operatörü ve Elvis operatörü null değerlerini sorunsuz bir şekilde ele alır, ancak bazen kodunuzun belirli bir noktasında null olabilen bir değerin null olmadığından kesinlikle emin olursunuz. Null olmayan değer iddia operatörü !!, Kotlin'e şunu söylemenizi sağlar: "Bunun null olmadığını garanti ediyorum."

fun main() {
    val name: String? = "Alice"
    val length = name!!.length  // String?'i String'e dönüştürür
    println(length)  // Yazdırır: 5
}

!! işleci, null olabilir bir türü onun null olamaz karşılığına dönüştürür. Ancak değer gerçekten null ise programınız bir NullPointerException ile çöker:

fun main() {
    val name: String? = null
    val length = name!!.length  // Burada çöküyor!
}

Ne zaman kullanılmalı: !! işlecini yalnızca değerin null olamayacağını garanti eden bir mantığa sahip olduğunuz, ancak derleyicinin bunu doğrulayamadığı durumlarda kullanın. Çoğu durumda bunun yerine güvenli çağrıları ?. veya Elvis işlecini ?: tercih edin. Null olmayan savı, ilk tercihiniz değil son çareniz olmalıdır.

challenge icon

Görev

Kolay

Bir getUppercaseLength fonksiyonu yazın. Bu fonksiyon bir text parametresi alır ve parametrenin büyük harfli hâlinin uzunluğunu döndürür.

Fonksiyon boş olmayan bir dize değeri alır, ancak parametre türü null olabilir (String?). Bunu null olamaz bir türe dönüştürmek için null olmayan onaylama operatörünü !! kullanın; ardından uppercase() yöntemini zincirleyin ve length değerini alın.

Parametreler:

  • text (String?): Bir değer içereceği garanti edilen, null olabilir bir dize

Döndürür: Metnin büyük harfli hâlinin uzunluğu (Int)

Not: Bu görev için girdi her zaman geçerli bir dize olacak, hiçbir zaman null olmayacaktır. Bu, değerin var olduğunu bildiğiniz ancak derleyicinin bunu doğrulayamadığı bir senaryoyu simüle eder.

Kendin dene

fun getUppercaseLength(text: String?): Int {
    // Kodu buraya yaz
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temel Bilgiler bölümündeki tüm dersler

Kendi başına pratik yap: Kotlin playground