Autoboxing dan unboxing Java
Java autoboxing dan unboxing
Dalam tutorial ini, kita akan belajar tentang autoboxing dan unboxing Java dengan bantuan contoh.
Java Autoboxing - Tipe Primitif ke Objek Pembungkus
Dalam autobox , kompilator Java secara otomatis mengubah tipe primitif menjadi objek kelas pembungkus yang sesuai. Misalnya,
int a = 56;
// autoboxing
Integer aObj = a;
Kotak Otomatis 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<Integer> list = new ArrayList<>();
//autoboxing
list.add(5);
list.add(6);
System.out.println("ArrayList: " + list);
}
}
Keluaran
ArrayList: [5, 6]
Dalam contoh di atas, kami telah membuat daftar array tipe Integer. Oleh karena itu daftar array hanya dapat menampung objek Integer
ketik.
Perhatikan barisnya,
list.add(5);
Di sini, kita melewati nilai tipe primitif. Namun, karena autoboxing , nilai primitif secara otomatis diubah menjadi Integer
objek dan disimpan dalam daftar array.
Java Unboxing - Objek Pembungkus ke Tipe Primitif
Dalam membuka kotak , kompiler Java secara otomatis mengubah objek kelas pembungkus menjadi tipe primitif yang sesuai. Misalnya,
// autoboxing
Integer aObj = 56;
// unboxing
int a = aObj;
Seperti autobox , membuka kotak juga dapat digunakan dengan koleksi Java.
Contoh 2:Membuka Kotak Java
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<Integer> 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]
Value at index 0: 5
Pada contoh di atas, perhatikan baris,
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 ditugaskan ke variabel a .