← Ana Sayfaya Dön

Kotlinde Dönüştürme(Conversion) ve Nullability

Kategori: Kotlin9 Ocak 2025

Bu kısımda Kotlin'de değişken türlerini değiştirmek için kullanılan conversion ve nullability hakkında detaylı bilgiler verilecektir.

Conversion (Dönüştürme) İşlemleri

Conversion işlemleri, bir değişkenin türünü değiştirmek için kullanılır.

String'den Int'e Dönüştürme

val sayi = "10" val sayiInt = sayi.toInt() println(sayiInt + 5) // Çıktı: 15

Not: Artık sayiInt değişkeni üzerinde matematiksel işlemler yapabiliriz. Çünkü sayiInt değeri sayi değişkeninin Int'e çevrilmiş hali oldu.

Int'den String'e Dönüştürme

val sayiInt = 10 val sayiString = sayiInt.toString() println("Sayı: " + sayiString) // Çıktı: Sayı: 10

Not String'e dönüştürülen bir sayı artık matematiksel işlemlerde kullanılamaz. Mesela sayiString + 5 yaparsak hata verir.

Diğer Dönüştürme İşlemleri

  • toDouble(): Int'den Double'a dönüştürme
  • toFloat(): Int'den Float'a dönüştürme
  • toLong(): Int'den Long'a dönüştürme
  • toBoolean(): String'den Boolean'a dönüştürme

Nullability (Null Olabilirlik)

Kotlin'de değişkenler varsayılan olarak null değer alamaz. Bir değişkenin null olabilmesi için özel olarak belirtilmesi gerekir. toInt fonksiyonu gibi fonksiyonlarda eğer emin değilsek null olabilirlik belirtmemiz gerekir. Örneğin:

val sayi = "bilo" val sayiInt = sayi.toIntOrNull()

Eğer toIntOrNull yerine düz toInt kullansaydık program çöküyordu, nullability bunun önüne geçti. Bir projede denk gelirse if null geldiyse bidaha girdi iste falan yapabilirsin.

Null Olabilen Değişkenler

`var isim: String? = null` // ? işareti ile null olabileceğini belirtiyoruz `println(isim?.length)` // Güvenli çağrı operatörü, eğer string değil ise null döner, program çökmez.

Elvis Operatörü (?:)

Elvis operatoru null gelecek olursa şu değer gelsin diye belirtiyor. Yani (inputtt / 2 ? :20) yazdigimizda inputt null ise soldaki islem olmayacağı icin cevap 20 olarak dönecek.

Güvenli Tip Dönüşümü

`val deger: Any = "Merhaba"` `val metin: String? = deger as? String` // Güvenli tip dönüşümü

Özet

  • Kotlin'de tip dönüşümleri güvenli bir şekilde yapılabilir
  • Null olabilirlik özel olarak belirtilmelidir
  • Girilen değer tipinden eminsen toInt, toFloat gibi fonksiyonlar kullanabilirsin, değilsen null olabilirlik belirtmen gerekiyor.
  • Elvis operatörü ve güvenli çağrı operatörü null kontrolü için kullanılır
  • Güvenli tip dönüşümü için as? operatörü kullanılır