Bu eğitimde, örnekler yardımıyla Java otomatik kutulama ve kutudan çıkarma hakkında bilgi edineceğiz.
Java Otomatik Kutulama - Sarmalayıcı Nesneye İlkel Tür
Gelen Autoboxing Java derleyici otomatik olarak bunlara karşılık gelen sarmalayıcı sınıf nesneleri içine ilkel türde dönüştürür. Örneğin,
int a = 56; // autoboxing Integer aObj = a;
Otomatik kutulama , Java koleksiyonlarıyla çalışırken büyük bir avantaja sahiptir.
Örnek 1: Java Otomatik Kutusu
import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList list = new ArrayList(); //autoboxing list.add(5); list.add(6); System.out.println("ArrayList: " + list); ) )
Çıktı
DiziListesi: (5, 6)
Yukarıdaki örnekte, Tamsayı türünde bir dizi listesi oluşturduk. Dolayısıyla, dizi listesi yalnızca Integer
türdeki nesneleri tutabilir .
Çizgiye dikkat edin,
list.add(5);
Burada ilkel tip değerini geçiyoruz. Ancak, otomatik kutulama nedeniyle , ilkel değer otomatik olarak bir Integer
nesneye dönüştürülür ve dizi listesinde saklanır.
Java Unboxing - Nesneleri İlkel Türlere Sarmalayıcı
Olarak kutudan çıkarma , sınıf sarmalayıcı Java derleyici otomatik olarak dönüştürür bunların karşılık gelen temel tür nesnelerini. Örneğin,
// autoboxing Integer aObj = 56; // unboxing int a = aObj;
Gibi Autoboxing , unboxing da Java koleksiyonları ile kullanılabilir.
Örnek 2: Java Kutusunu Kaldırma
import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList list = new ArrayList(); //autoboxing list.add(5); list.add(6); System.out.println("ArrayList: " + list); // unboxing int a = list.get(0); System.out.println("Value at index 0: " + a); ) )
Çıktı
ArrayList: (5, 6) 0: 5 dizinindeki değer
Yukarıdaki örnekte, satıra dikkat edin,
int a = list.get(0);
Burada get()
yöntem, nesneyi indeks 0'da döndürür. Ancak, kutunun kaldırılması nedeniyle nesne otomatik olarak ilkel türe dönüştürülür int
ve a değişkenine atanır.