Dalam tutorial ini, kita akan belajar mengenai autoboxing dan unboxing Java dengan bantuan contoh.
Java Autoboxing - Jenis Primitif ke Objek Pembungkus
Dalam autoboxing , penyusun Java secara automatik menukar jenis primitif menjadi objek kelas pembungkus yang sesuai. Sebagai contoh,
int a = 56; // autoboxing Integer aObj = a;
Autoboxing mempunyai kelebihan besar semasa bekerja dengan koleksi Java.
Contoh 1: Autoboxing Java
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); ) )
Pengeluaran
ArrayList: (5, 6)
Dalam contoh di atas, kami telah membuat senarai array jenis Integer. Oleh itu senarai susunan hanya dapat menyimpan objek Integer
jenis.
Perhatikan garis,
list.add(5);
Di sini, kita melewati nilai jenis primitif. Namun, kerana autoboxing , nilai primitif secara automatik diubah menjadi Integer
objek dan disimpan dalam senarai array.
Java Unboxing - Objek Pembungkus untuk Jenis Primitif
Dalam unboxing , penyusun Java secara automatik menukar objek kelas pembungkus menjadi jenis primitif yang sesuai. Sebagai contoh,
// autoboxing Integer aObj = 56; // unboxing int a = aObj;
Seperti autoboxing , unboxing juga boleh digunakan dengan koleksi Java.
Contoh 2: Peti Masuk Java
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); ) )
Pengeluaran
ArrayList: (5, 6) Nilai pada indeks 0: 5
Dalam contoh di atas, perhatikan garis,
int a = list.get(0);
Di sini, get()
kaedah mengembalikan objek pada indeks 0. Namun, kerana tidak membuka kotak , objek secara automatik ditukar menjadi jenis primitif int
dan diberikan kepada pemboleh ubah a.