Kalender Tulisan

September 2008
M T W T F S S
« Aug   Oct »
1234567
891011121314
15161718192021
22232425262728
2930  

Tulisan Terbaru

Kategori Tulisan

Komentar Para Blogger

Benang Tulisan


« Sembunyikan dan Lindungi Rumus di Cell Excel | Main | Ponsel Google »

Generics

By deepe | September 17, 2008

Pernah bermain-main dengan class Collection dan turunannya? Mungkin pengalaman yang akan ditemui ketika menggunakan class ini adalah error ClassCastException. Kenapa? Karena class ini bisa menampung tipe data yang berbeda dan biasanya error ini ditemui ketika kita melakukan casting tipe data terhadap tipe data yang ada dalam class Collection. Contoh berikut mungkin akan lebih memperjelas maksud diatas.

1
2
3
4
5
6
7
Collection cols = new ArrayList();
cols.add("deepe");
cols.add(new Integer(1982));
Iterator iter = cols.iterator();
for(;iter.hasNext();){
    String str = (String) iter.next();
}

Pada contoh diatas yang biasanya menyebabkan error ClassCastException adalah baris 6. Karena pernyataan tersebut melakukan casting terhadap tipe data yang ada di dalam Collection menjadi String, sedangkan tipe data ke 2 ( baris 3 ) pada Collection adalah tipe data Integer.

Untuk membantu permasalahan seperti inilah Generics mulai disediakan pada Java 5. Karena dengan generics, programmer jadi lebih jelas untuk mengetahui tipe data apa yang terdapat dalam sebuah Collection. Lalu bagaimana kita sebagai programmer mengetahui bahwa kita telah menggunakan generics dalam Collection? Jawabannya adalah dengan menambahkan tipe data ke dalam kurung siku. Contohnya adalah Collection<String> cols = new ArrayList<String>()

Jadi dengan adanya generics maka akan mempercepat penemuan error. mengapa? karena dengan memakai generics, error akan ditemukan saat anda melakukan compile program sedangkan bila tidak menggunakan generics, error ditemukan saat aplikasi dijalankan. Nah dari pernyataan diatas, bisa disimpulkan bahwa kita tidak harus menggunakan generics dalam Collection selama kita berhati-hati terhadap tipe data dalam Collection. Generics disediakan hanya untuk mempermudah anda dalam membuat program. Jadi terserah anda mau menggunakan generics atau tidak.

Topics: Java |

Comments