
"Hai, Amigo!"
"Hari ini saya akan memberitahu tentang autoboxing . AutoBoxing bermaksud memasukkan sesuatu secara automatik ke dalam kotak."
"Anda akan ingat bahawa Java mempunyai jenis yang mewarisi kelas Objek, serta jenis primitif. Tetapi ternyata perkara mudah sebagai koleksi dan generik hanya berfungsi dengan jenis yang mewarisi Objek."
"Kemudian keputusan dibuat untuk membuat rakan bukan primitif bagi setiap jenis primitif."
Jenis primitif | Rakan sejawat bukan primitif |
---|---|
bait | Bait |
pendek | Pendek |
int | Integer |
panjang | Panjang |
terapung | Terapung |
berganda | berganda |
boolean | Boolean |
char | Perwatakan |
batal | batal |
"Tetapi sangat menyusahkan untuk menukar antara jenis ini sepanjang masa:"
int x = 3;
Integer y = new Integer(x + 1);
int z = y.intValue();
"Terutama apabila bekerja secara langsung dengan koleksi:"
int[] numbers = new int[10];
ArrayList list = new ArrayList();
for (int i = 0; i < numbers.length; i++)
{
list.add( new Integer(i));
}
"Itulah sebabnya pencipta Java mencipta «autoboxing» jenis primitif mereka dan 'menyahkotak' kepada rakan bukan primitif mereka."
"Begini cara ia berfungsi:
Apa yang anda lihat | Apa sebenarnya yang berlaku |
---|---|
|
|
|
|
|
|
|
|
"Semuanya mudah. Anda boleh menetapkan jenis int dan Integer antara satu sama lain, dan pengkompil menguruskan segala-galanya."
"Itu sangat mudah."
"Yep. Tapi ada nuansa yang saya akan bincangkan nanti."
GO TO FULL VERSION