Dalam tutorial ini, kita akan belajar tentang kelas Java Wrapper dengan bantuan contoh.
Kelas wrapper di Jawa digunakan untuk mengkonversi tipe primitif ( int
, char
, float
, dll) menjadi objek yang sesuai.
Masing-masing dari 8 tipe primitif memiliki kelas pembungkus yang sesuai.
Jenis Primitif | Kelas Pembungkus |
---|---|
byte | Byte |
boolean | Boolean |
char | Character |
double | Double |
float | Float |
int | Integer |
long | Long |
short | Short |
Ubah Primitive Type menjadi Wrapper Objects
Kita juga bisa menggunakan valueOf()
metode untuk mengubah tipe primitif menjadi objek yang sesuai.
Contoh 1: Tipe Primitif ke Objek Pembungkus
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."); ) ) )
Keluaran
Objek Integer dibuat. Objek Double dibuat.
Dalam contoh di atas, kami telah menggunakan valueOf()
metode untuk mengubah tipe primitif menjadi objek.
Di sini, kita telah menggunakan instanceof
operator untuk memeriksa apakah benda yang dihasilkan adalah dari Integer
atau Double
jenis atau tidak.
Namun, compiler Java bisa langsung mengubah tipe 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 dikenal sebagai auto-boxing . Untuk mempelajari lebih lanjut, kunjungi autoboxing dan unboxing Java.
Catatan : Kita juga bisa mengonversi tipe primitif menjadi objek pembungkus menggunakan Wrapper
konstruktor kelas. Tetapi penggunaan konstruktor dibuang setelah Java 9.
Objek Pembungkus menjadi Jenis Primitif
Untuk mengkonversi benda ke dalam jenis primitif, kita dapat menggunakan metode nilai yang sesuai ( intValue()
, doubleValue()
, dll) hadir di setiap kelas wrapper.
Contoh 2: Membungkus Objek 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); ) )
Keluaran
Nilai a: 23 Nilai b: 5.55
Dalam contoh di atas, kami telah menggunakan metode intValue()
dan doubleValue()
untuk mengonversi objek Integer
dan Double
menjadi tipe primitif yang sesuai.
Namun, compiler Java dapat secara otomatis mengubah objek menjadi tipe 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 dikenal sebagai unboxing . Untuk mempelajari lebih lanjut, kunjungi autoboxing dan unboxing Java.
Keuntungan Kelas Pembungkus
- Di Java, terkadang kita mungkin perlu menggunakan objek daripada tipe data primitif. Misalnya, saat mengerjakan koleksi.
// error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList();
- Kita dapat menyimpan nilai null di objek pembungkus. Sebagai contoh,
// generates an error int a = null; // runs perfectly Integer a = null;
Catatan : Tipe primitif lebih efisien daripada objek yang sesuai. Oleh karena itu, ketika efisiensi adalah persyaratan, tipe primitif selalu direkomendasikan.