Null Güvenliği
Kotlin'in null güvenliği sistemini anlayın: null alabilen türleri, güvenli çağrı işleciyi, Elvis işlecini ve NullPointerExceptions'ı ortadan kaldırmayı öğrenin.
Null Güvenliği, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Android Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Android Academy kursu toplamda 4 dersten oluşur.
Milyar Dolarlık Hata
Java'da herhangi bir değişken null olabilir ve çalışma zamanında bir NullPointerException (NPE) oluşturarak Android uygulamalarındaki en yaygın çökmelerden birine yol açabilir.
Null kavramını icat eden Tony Hoare, bunu milyar dolarlık hata olarak adlandırmıştır.
Kotlin, null güvenliği sistemiyle NPE'leri derleme zamanında ortadan kaldırır.
Null Olabilen ve Olamayan Türler
Kotlin'de türler varsayılan olarak null olamaz. Null değerine izin vermek için türe ? ekleyin:
String— hiçbir zaman null olmaz, garanti edilirString?— null olabilir
Derleyici bunu zorunlu kılar; null değerini null olamayan bir türe atamanıza izin vermez.
Null Olabilen Türler Örneği
Derleyici, null kaynaklı hataları uygulamanız çalışmadan önce yakalar:
fun main() {
val name: String = "Alice" // never null
// name = null // COMPILE ERROR
var nickname: String? = "Al" // nullable
nickname = null // OK
println(name)
println(nickname) // null
}Güvenli Çağrı İşleci ?.
Güvenli çağrı işleci ?., bir yöntemi yalnızca nesne null değilse çağırır. Nesne null ise çökme yerine null döndürür.
nickname?.length → uzunluğu döndürür; nickname null ise null döndürür.
Güvenli Çağrılar Kullanımda
Null olabilen özelliklere güvenli biçimde erişmek için ?. kullanın:
fun main() {
var text: String? = "Hello"
println(text?.length) // 5
println(text?.uppercase()) // HELLO
text = null
println(text?.length) // null (no crash!)
println(text?.uppercase()) // null
}Elvis İşleci ?:
Elvis işleci ?:, bir ifade null olduğunda varsayılan bir değer sağlar:
val len = text?.length ?: 0
Şöyle okuyun: "text'in uzunluğu veya text null ise 0".
Adını, saçları ?: işaretine benzeyen Elvis emojisi 🕺'den alır.
Elvis İşleci Örneği
?: ile güvenli varsayılan değerler sağlayın:
fun main() {
var name: String? = "Bob"
println(name?.length ?: 0) // 3
name = null
println(name?.length ?: 0) // 0
val display = name ?: "Anonymous"
println(display) // Anonymous
}if ile Null Denetimleri
Bir if (x != null) bloğunun içinde Kotlin, null olabilen türü otomatik olarak null olamayan türe akıllı biçimde dönüştürür; bloğun içinde ?. kullanmanız gerekmez.
Akıllı Dönüşüm Örneği
Kotlin, null denetiminden sonra türü daraltır:
fun printLength(text: String?) {
if (text != null) {
// 'text' is now String (non-nullable) here
println("Length: ${text.length}") // no ?. needed
} else {
println("text is null")
}
}
fun main() {
printLength("Kotlin") // Length: 6
printLength(null) // text is null
}Hızlı Kontrol
null?.length ?: -1 hangi değere eşit olur?
Özet: Null Güvenliği
Kotlin'in null güvenliği sistemi NPE'leri ortadan kaldırır:
- Türler varsayılan olarak null olamaz; null değerine izin vermek için
?ekleyin ?.güvenli çağrı — çökme yerine null döndürür?:Elvis işleci — null olduğunda varsayılan değer sağlarif (x != null)bloklarının içindeki akıllı dönüşümler
Sırada: sınıflar ve nesnelerle kodu yapılandırmak var.
Sıkça Sorulan Sorular
“Null Güvenliği” dersi ücretsiz mi?
Evet — “Null Güvenliği” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Android Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Android Academy kursu toplamda 4 dersten oluşur.
“Null Güvenliği” dersinde ne öğreneceğim?
Kotlin'in null güvenliği sistemini anlayın: null alabilen türleri, güvenli çağrı işleciyi, Elvis işlecini ve NullPointerExceptions'ı ortadan kaldırmayı öğrenin. Android Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Android Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Android Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Null Güvenliği” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Android Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Android Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Null Güvenliği
- Sınıflar ve Nesneler
- Veri Sınıfları ve Mühürlü Sınıflar
- Uzantı İşlevleri ve Üst Düzey İşlevler