Platform Türleri
Java kaynaklı null olabilirlik
Platform Türleri, CoddyKit'te ücretsiz bir Kotlin Academy dersidir. Bu, 4 dersinin 4. 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, Kotlin Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kotlin Academy kursu toplamda 4 dersten oluşur.
Kotlin ve Java
Kotlin JVM üzerinde çalışır ve sürekli Java kodunu çağırır. Ancak Java'da null olabilir ve null olmayan türler kavramı yoktur.
Peki Kotlin, Java'dan gelen bir değeri nasıl ele alır? Platform türleri aracılığıyla.
Platform Türü Nedir
Platform türü, Kotlin'in Java'dan aldığı ve null olabilirliği bilinmeyen bir türdür.
Kotlin bunu hata iletilerinde String! olarak gösterir. Ünlem işareti şu anlama gelir: Değer null da olabilir, null olmayabilir de; Kotlin bu seçeneklerden birini zorunlu tutmaz.
Gevşetilmiş Denetim
Platform türlerinde Kotlin, null denetimlerini gevşetir. Değeri, derleyici hatası almadan null olmayan olarak ele alabilirsiniz.
Bedeli şudur: Değer gerçekten null ise çalışma zamanında bir NullPointerException alırsınız.
Türü Siz Seçersiniz
Platform türündeki bir değeri saklarken türünü siz belirlersiniz:
- null olmayan
Stringolarak → kullanışlıdır ancak risklidir - null olabilir
String?olarak → güvenli ve açıktır
Bu Kotlin örneği bu seçimi benzetim yoluyla gösterir.
fun fromJava(): String? = "value from Java"
fun main() {
val safe: String? = fromJava()
println(safe?.length)
}Riskli Seçim
Null olmayan olduğunu varsaydığınız bir değer için kaynak null döndürürse çökme, atama sırasında veya ilk kullanımda gerçekleşir.
Platform türlerinin gizli tehlikesi budur.
fun fromJava(): String? = null
fun main() {
try {
val risky: String = fromJava()!!
println(risky.length)
} catch (e: NullPointerException) {
println("Null came from the Java side")
}
}Ek Açıklamalar Yardımcı Olur
Java kitaplıkları @Nullable ve @NotNull gibi ek açıklamaları kullanabilir.
Bu ek açıklamalar bulunduğunda Kotlin bunlara uyar ve platform türü yerine size uygun bir String? veya String sağlar.
En İyi Uygulama: Null Olabilir Varsayın
Ek açıklama içermeyen Java kodunu çağırırken güvenli alışkanlık, sonucu null olabilir kabul etmektir.
Değişkeninizin türünü ? ile belirtin ve tıpkı herhangi bir Kotlin null olabilir değeri gibi güvenli çağrılar kullanın.
fun fromJava(): String? = "data"
fun main() {
val value: String? = fromJava()
val length = value?.length ?: 0
println(length)
}Savunmacı Sınırlar
Java sınırını güvenilmeyen kabul edin. Değerleri Kotlin kodunuza girdikleri noktada doğrulayın veya varsayılan değerler atayın.
Bu noktadan sonra kodunuzun geri kalanı temiz Kotlin türleriyle çalışır.
fun fromJava(): String? = null
fun main() {
val name = fromJava() ?: "default"
// from here on, name is a clean non-null String
println(name.uppercase())
}Kotlin Buna Neden İzin Veriyor
Kotlin, her Java değerini null olabilir olarak zorunlu tutabilirdi; ancak bu, Java ile birlikte çalışmayı gereksiz derecede ayrıntılı hâle getirirdi.
Platform türleri pragmatik bir uzlaşmadır: kolaylık sağlar ve katı olma seçeneğini sunar.
Platform Türlerini Fark Etme
String! ifadesini kendiniz yazmazsınız. Bu ifade yalnızca Java kaynaklı değerlerin üzerine geldiğinizde geliştirme ortamı ipuçlarında ve hata iletilerinde görünür.
! işaretini gördüğünüzde null olabilirliği bilinçli olarak belirlemeniz gerektiğini anlarsınız.
Bir Araya Getirme
Platform türleri Java ile Kotlin arasında köprü kurar:
- Null olabilirlikleri bilinmez ve
Type!olarak gösterilir - Kotlin, null olabilir veya null olmayan türü seçmenize izin verir
- Güvenli kalmak için emin olmadığınızda null olabilir varsayın
- Ek açıklamalar tahmin ihtiyacını ortadan kaldırır
fun fromJava(): String? = "safe value"
fun main() {
val value: String? = fromJava()
println(value?.uppercase() ?: "missing")
}Hızlı Kontrol
Platform türleri konusundaki anlayışınızı sınayın.
Özet
Null olabilirliğin Java sınırını nasıl geçtiğini öğrendiniz:
- Platform türlerinin null olabilirliği bilinmez
- Kotlin denetimleri gevşetir, ancak yanlış bir varsayım çalışma zamanında NPE oluşmasına neden olur
- Sınırda null olabilir varsayın ve varsayılan değerler atayın
- Java ek açıklamaları uygun türleri yeniden sağlar
Null Güvenliğini Derinlemesine İnceleme tamamlandı.
Sıkça Sorulan Sorular
“Platform Türleri” dersi ücretsiz mi?
Evet — “Platform Türleri” 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 Kotlin Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kotlin Academy kursu toplamda 4 dersten oluşur.
“Platform Türleri” dersinde ne öğreneceğim?
Java kaynaklı null olabilirlik Kotlin 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.
Kotlin Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Kotlin 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 4. dersidir.
“Platform Türleri” 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 Kotlin Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Kotlin 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
- Nullable ve Non-Null Türler
- Güvenli Çağrılar ve Elvis
- !! İşleci
- Platform Türleri