Önceki yazımızda Boxing ve Unboxing İşlemlerinin ne olduğunu ve nasıl yapıldığını görmüştük. Şimdi tip dönüşümünü farklı veri tipleri arasında nasıl yapacağımızı öğreneceğiz. Böylelikle tüm veri tipleri arasında geçiş yapıp istediğimiz şekilde verileri işleyebilecek hale geleceğiz. Uzatmadan hemen devam edelim…
Tip dönüşümü sırasında en çok valueOf()
ve toString()
fonksiyonlarını kullanacağız. Herhangi bir veri tipinden String tipine dönüşüm yaparken toString()
, String veri tiplerinden kendi veri tipimize dönüşüm yaparken valueOf()
kullanacağız. Örnekleri incelediğinizde ne demek istediğimi anlayacaksınız. En çok bu 2 fonksiyon kullanılanılmakla beraber daha birçok fonksiyon da mevcuttur. Hepsini tek tek öğreneceğiz.
Byte ile örnek;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
public class Main { public static void main(String[] args) { Short sh_sayi = 13; String st_sayi = "15"; // Byte tipine dönüştürme Byte b_sayi_1 = Byte.valueOf(st_sayi); // Hatasız çalışır... //Byte b_sayi_2 = Byte.valueOf(sh_sayi); // valueOf() sadece String veri tipinden ve kendi veri tipinden dönüşüm yapabildiği için hata verir. Byte b_sayi_3 = (byte) sh_sayi; // Büyük veri tipinden küçük veri tipine dönüşüm yaparken taşma olacağı için hata verir. // Byte tipinden String tipe dönüştürme String s_sayi = b_sayi_1.toString(); // Hatasız çalışır... // toString() gibi toFloat() veya toInt() yok mu diye soracak olursanız; toString() dışında başka yok. // Eğer string dışında bir tipe dönüştürmek istiyorsanız o tipin valueOf() fonksiyonunu kullanmanız gerekiyor. Her tipin kendi içine alıcı valueOf() fonksiyonu mevcut. Integer i_sayi = Integer.valueOf(b_sayi_1); } } |
Not : İlk örnekte bilerek Byte tipinden başladım. Bir değişken kendi tipinden büyük bir tipe geçerken hata vermez ama kendinden küçük tipe geçerken hata verir. Örneğin; 5 litrelik bir kovadaki suyu 1 litrelik kovaya dökerseniz 4 litesi taşar ve etraf ıslanır ama 1 litrelik kovadaki suyu 5 litrelik kovaya dökerseniz herhangi bir taşma olmaz ve kovada 4 litrelik boş yer kalır. Tip dönüşümlerini de aynı bu şekilde düşünebilirsiniz. Büyükten küçüğe geçerken taşma ihtimali vardır ama küçükten büyüğe geçerken yoktur.
Şimdilik bu yazıya geçici olarak nokta koyuyorum. En kısa zamanda aşağıdaki tiplerle ilgili eklemeler yaparak ve diğer dönüşüm fonksiyonlarını da göstererek makaleyi güncelleyeceğim.
- Byte
- Short
- Integer
- Long
- Float
- Double
- Character
- Boolean
Faydalı olması dileğiyle..
İlk Yorumu Siz Yapın