Copyright © OnMode
Design by Dzignine
Selasa, 29 Juli 2014

Kelas Wrapper pada Java (Im understanding)

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.
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”);
}
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) ;

ØContoh dengan Autoboxing:
Integer i
= new Integer(567);
i++; 

Method-Method
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) 
Ø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());
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(); 
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");
Ø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);

TERIMA KASIH
belajar OTODIDAK akan membangun karakter mandiri
Salam Hangat

2 komentar: