Pengenalan Kelas Wrapper
ØJava
mengenal 8 buah tipe data primitif dan tidak dapat dibuat objek. Karena hal ini
mengalami kesulitan dalam penggunaannya karena beberapa class di library Java
hanya dapat berinteraksi dengan objek. Untuk mengatasi masalah ini, Java
menyediakan tipe data class untuk tipe data primitif. Class ini membungkus tipe
data primitif agar dapat digunakan sebagai objek. Class ini disebut dengan type
Wrapper.
Fungsi Utama Kelas Wrapper
1.Menyediakan mekanisme untuk membungkus data primitif ke dalam obyek sehingga data primitif ini dapat menggunakan operasi-operasi yang
khusus diperuntukkan untuk obyek, seperti penambahan ke dalam koleksi atau pengembalian dari sebuah method yang
mengembalikan sebuah obyek
2.
Menyediakan satu set fungsi utility untuk data
primitif. Sebagian besar dari fungsi-fungsi ini berhubungan dengan konversi data
primitif dari satu bentuk ke bentuk yang
lainnya, sebagai contoh, mengubah data
primitif ke dalam bentuk
String dan sebaliknya, mengubah data
primitif ke dalam bentuk
basis yang berbeda-beda (binary,
octal, dan decimal).
TIPE DATA PRIMITIF
|
KELAS WRAPPER
|
ARGUMEN KONSTRUKTOR
|
boolean
|
Boolean
|
boolean
atau String
|
byte
|
Byte
|
byte atau String
|
char
|
Character
|
char
|
short
|
Short
|
short atau
String
|
int
|
Integer
|
int atau String
|
long
|
Long
|
long atau String
|
float
|
Float
|
float atau String
|
double
|
Double
|
double atau
String
|
ØSetiap data
primitif dalam Java
memiliki kelas wrapper yang
bersesuaian. Sebagai contoh, kelas wrapper untuk int adalah Integer, untuk float adalah Float, dan sebagainya.
Yang patut diingat adalah nama dari kelas wrapper suatu data
primitif adalah sama dengan tipe data
primitif yang
bersesuaian dengan huruf pertamanya dalam bentuk huruf besar, kecuali untuk tipe data
char dengan kelas wrapper Character, dan int dengan kelas wrapper Integer.
ØObyek wrapper bersifat immutable,
yang berarti bahwa sekali diberikan nilai pada sebuah obyek wrapper, nilainya tidak dapat diubah.
ØSemua kelas wrapper, (kecuali Character), menyediakan dua buah konstruktor: satu konstruktor menggunakan nilai primitif yang
bersesuaian, dan konstruktor yang
lain menggunakan
String yang merupakan representasi dari data
primitif yang
akan dibungkus di dalam kelas wrapper.
ØSetiap objek wrapper mempunyai konstanta MAX_VALUE dan MIN_VALUE.
MAX_VALUE : nilai numerik terbesar yang dapat ditampung oleh objek dengan tipe data class wrapper ini.
MIN_VALUE : nilai numerik terkecil yang dapat ditampung oleh objek dengan tipe data class wrapper ini.
MAX_VALUE : nilai numerik terbesar yang dapat ditampung oleh objek dengan tipe data class wrapper ini.
MIN_VALUE : nilai numerik terkecil yang dapat ditampung oleh objek dengan tipe data class wrapper ini.
Number
ØNumber
adalah
class abstract yang merupakan
superclass dari semua
class type wrapper yang
membungkus tipe data
numerik seperti
byte, short ,int,
long, float dan
double.
ØKonstruktor dari
class wrapper ini mengizinkan untuk membuat nilai numerik dari objek
String. Namun jika objek
String yang dilewatkan sebagai
argument konstruktor bukan nilai numerik yang
valid, maka melemparkan
exception yang bertipe NumberFormatException.
ØContoh argumen
:
Integer(int value)
Integer(String s) throws NumberFormatException{
Integer num1 = new Integer(100); Integer num2 = new Integer(“100”);
}
Integer(int value)
Integer(String s) throws NumberFormatException{
Integer num1 = new Integer(100); Integer num2 = new Integer(“100”);
}
Character
ØClass
Character merupakan
class wrapper untuk tipe data
primitif
char. Konstruktor dari class
Character
adalah Character(char
value).
ØMethod
valueOf() digunakan untuk mendapat nilai char
dengan tipe
wrapper. Character
hanya mempunyai satu
method valueOf().
ØMethod charValue() untuk mendapatkan tipe data primitif char.
Auto Boxing dan Auto-Unboxing
ØPada Java
5, dikenal istilah Autoboxing dan
Auto-unboxing.
ØAutoboxing adalah konversi secara otomatis oleh kompiler Java
dari tipe data
primitif ke tipe data
sesuai dengan tipe wrappernya (misalnya, int dan
Integer, double dan
Double).
ØSedangkan mengubah
object dari
class wrapper menjadi nilai primitifnya disebut Auto-unboxing.
ØContoh dengan
Auto-unboxing:
Integer i = new Integer(567);
int a = i.intValue();
a++ ;
i = new Integer(a) ;
Integer i = new Integer(567);
int a = i.intValue();
a++ ;
i = new Integer(a) ;
ØContoh dengan Autoboxing:
Integer i = new Integer(567);
i++;
Integer i = new Integer(567);
i++;
Method-Method
Kelas Wrapper
Kelas Wrapper
Method valueOf()
ØMethod statik valueOf()
yang disediakan di sebagian besar kelas wrapper (kecuali kelas wrapper
Character) memberikan cara lain
untuk membuat obyek wrapper.
ØMethod ini menggunakan
String yang merepresentasikan data
primitif yang
bersesuaian sebagai argumen
ØContoh argumen :
Integer
i2 = Integer.valueOf(“100”);
Float f2 = Float.valueOf(“3.14f”);
ØClass
Long, Integer, Short dan Byte
mempunyai tiga method
valueOf().
Method 1 menerima argument berupa nilai. Method 2 menerima argument nilai dalam bentuk String.
Method 3 argument kedua berupa int radix yang menyatakan base dari argument pertama (binary, octal, atau hexadecimal)
Method 1 menerima argument berupa nilai. Method 2 menerima argument nilai dalam bentuk String.
Method 3 argument kedua berupa int radix yang menyatakan base dari argument pertama (binary, octal, atau hexadecimal)
ØClass
Boolean, Float dan
Double mempunyai dua
method valueOf()
Method toString()
ØSetiap kelas wrapper memiliki method toString() yang tidak memiliki argumen dan tidak statik. Method ini mengembalikan nilai berupa obyek
String yang merepresentasikan nilai primitif yang
dibungkus oleh kelas
wrapper-nya.
ØSebagai contoh :
Double d = new Double(“3.14”);
System.out.println(“d = “+d.toString());
Double d = new Double(“3.14”);
System.out.println(“d = “+d.toString());
Method xxxValue()
ØMethod
xxxValue() digunakan untuk mengubah object dari class wrapper menjadi nilai numerik. Object ini mempunyai nilai
ØContoh argumen :
Integer i2 = new Integer(42);
double d = i2.doubleValue(); Float f2 = new Float(3.14f); short s = f2.shortValue();
Integer i2 = new Integer(42);
double d = i2.doubleValue(); Float f2 = new Float(3.14f); short s = f2.shortValue();
Method parseXxx()
ØFungsi parseXxx()
argument berupa String dan melempar NumberFormatException (NFE)
jika argument tidak sesuai. Method parseXxx() mengembalikan nilai primitif.
ØContoh argumen :
int i = Integer.parseInt("100");
float f = Float.parseFloat("100.00");
int i = Integer.parseInt("100");
float f = Float.parseFloat("100.00");
ØMethod-method
toBinaryString(), toOctalString() dan toHexString() digunakan untuk merubah suatu nomer berbasis 10 ke
basis binary atau
octal atau hexadecimal.
ØContoh argumen :
String binary;
String octal;
String hex;
binary = Integer.toBinaryString(123456789);
octal = Integer.toOctalString(123456789);
hex = Integer.toHexString(123456789);
String binary;
String octal;
String hex;
binary = Integer.toBinaryString(123456789);
octal = Integer.toOctalString(123456789);
hex = Integer.toHexString(123456789);
TERIMA KASIH
belajar OTODIDAK akan membangun karakter mandiri
Salam Hangat
keyen..
BalasHapusmakasih sudah share
BalasHapuspinset 3in1