Dalam tutorial ini, kita akan belajar tentang Java autoboxing dan unboxing dengan bantuan contoh.
Java Autoboxing - Jenis Primitif ke Objek Pembungkus
Dalam autoboxing , compiler Java secara otomatis mengonversi tipe primitif menjadi objek kelas pembungkus yang sesuai. Sebagai contoh,
int a = 56; // autoboxing Integer aObj = a;
Autoboxing memiliki keuntungan besar saat bekerja dengan koleksi Java.
Contoh 1: Java Autoboxing
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); ) )
Keluaran
Daftar Array: (5, 6)
Dalam contoh di atas, kami telah membuat daftar array tipe Integer. Karenanya daftar array hanya dapat menampung objek Integer
bertipe.
Perhatikan garisnya,
list.add(5);
Di sini, kami meneruskan nilai tipe primitif. Namun, karena autoboxing , nilai primitif otomatis diubah menjadi Integer
objek dan disimpan dalam daftar larik.
Java Unboxing - Objek Pembungkus untuk Jenis Primitif
Dalam unboxing , compiler Java secara otomatis mengonversi objek kelas pembungkus menjadi tipe primitif yang sesuai. Sebagai contoh,
// autoboxing Integer aObj = 56; // unboxing int a = aObj;
Seperti halnya autoboxing , unboxing juga dapat digunakan dengan koleksi Java.
Contoh 2: Java Unboxing
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); ) )
Keluaran
ArrayList: (5, 6) Nilai pada indeks 0: 5
Pada contoh di atas, perhatikan barisnya,
int a = list.get(0);
Di sini, get()
metode mengembalikan objek pada indeks 0. Namun, karena unboxing , objek secara otomatis diubah menjadi tipe primitif int
dan ditetapkan ke variabel a.