Dalam tutorial ini, kita akan belajar mengenai kelas Java Wrapper dengan bantuan contoh.
Kelas-kelas wrapper di Jawa digunakan untuk menukar jenis primitif ( int
, char
, float
, dan lain-lain) ke dalam objek yang sepadan.
Setiap 8 jenis primitif mempunyai kelas pembungkus yang sesuai.
Jenis Primitif | Kelas Pembungkus |
---|---|
byte | Byte |
boolean | Boolean |
char | Character |
double | Double |
float | Float |
int | Integer |
long | Long |
short | Short |
Tukar Jenis Primitif ke Objek Pembungkus
Kita juga boleh menggunakan valueOf()
kaedah untuk menukar jenis primitif menjadi objek yang sesuai.
Contoh 1: Jenis Primitif untuk Membungkus Objek
class Main ( public static void main(String() args) ( // create primitive types int a = 5; double b = 5.65; //converts into wrapper objects Integer aObj = Integer.valueOf(a); Double bObj = Double.valueOf(b); if(aObj instanceof Integer) ( System.out.println("An object of Integer is created."); ) if(bObj instanceof Double) ( System.out.println("An object of Double is created."); ) ) )
Pengeluaran
Objek Integer dibuat. Objek Double dibuat.
Dalam contoh di atas, kami telah menggunakan valueOf()
kaedah untuk menukar jenis primitif menjadi objek.
Di sini, kami telah menggunakan instanceof
operator untuk memeriksa sama ada objek yang dihasilkan adalah Integer
atau Double
jenis atau tidak.
Namun, penyusun Java secara langsung dapat mengubah jenis primitif menjadi objek yang sesuai. Sebagai contoh,
int a = 5; // converts into object Integer aObj = a; double b = 5.6; // converts into object Double bObj = b;
Proses ini dikenali sebagai auto-boxing . Untuk mengetahui lebih lanjut, lawati autoboxing dan unboxing Java.
Catatan : Kami juga boleh menukar jenis primitif menjadi objek pembungkus menggunakan Wrapper
pembina kelas. Tetapi penggunaan konstruktor dibuang setelah Java 9.
Bungkus Objek ke Jenis Primitif
Untuk menukar objek menjadi jenis primitif, kita dapat menggunakan kaedah nilai yang sesuai ( intValue()
, doubleValue()
dan lain-lain) yang ada di setiap kelas pembungkus.
Contoh 2: Objek Pembungkus menjadi Jenis Primitif
class Main ( public static void main(String() args) ( // creates objects of wrapper class Integer aObj = Integer.valueOf(23); Double bObj = Double.valueOf(5.55); // converts into primitive types int a = aObj.intValue(); double b = bObj.doubleValue(); System.out.println("The value of a: " + a); System.out.println("The value of b: " + b); ) )
Pengeluaran
Nilai a: 23 Nilai b: 5.55
Dalam contoh di atas, kami telah menggunakan kaedah intValue()
dan doubleValue()
kaedah untuk menukar objek Integer
dan Double
menjadi jenis primitif yang sesuai.
Namun, penyusun Java secara automatik dapat mengubah objek menjadi jenis primitif yang sesuai. Sebagai contoh,
Integer aObj = Integer.valueOf(2); // converts into int type int a = aObj; Double bObj = Double.valueOf(5.55); // converts into double type double b = bObj;
Proses ini dikenali sebagai unboxing . Untuk mengetahui lebih lanjut, lawati autoboxing dan unboxing Java.
Kelebihan Kelas Pembungkus
- Di Jawa, kadang-kadang kita mungkin perlu menggunakan objek dan bukannya jenis data primitif. Contohnya, semasa bekerja dengan koleksi.
// error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList();
- Kita boleh menyimpan nilai nol dalam objek pembungkus. Sebagai contoh,
// generates an error int a = null; // runs perfectly Integer a = null;
Catatan : Jenis primitif lebih cekap daripada objek yang sepadan. Oleh itu, apabila kecekapan adalah keperluan, selalu disarankan jenis primitif.