Mengapa Generic?
Satu dari penyebab adanya bugs yang paling
signifikan dalam Bahasa pemrograman Java adalah keperluan akan
pernyataan typecast atau downcast untuk lebih mengkhususkan tipe data
dari tipe staticnya secara terus-menerus. Sebagai contoh, Sebuah object
arraylist memungkinkan kita untuk menambahkan beberapa referensi tipe
object pada list tapi ketika kita mendapatkan kembali elemet ini , kita
perlu untuk typecast object ke tipe referensi khusus yang sesuai dengan
keperluan kita. Downcasting adalah hotspot yang potensial untuk
ClassCastException. Yang juga membuat kode kita menjadi lebih panjang,
jadi, menjadi lebih sedikit dapat terbaca. Lebih dari itu, downcasting
juga efektif merusak manfaat dari sebuah kekuatan bahasa yang diketikkan
sejak dia menghapuskan keamanan yang disediakan perusahaan berupa
pemeriksaan tipe(type checking).
Tujuan utama dari penambahan generic pada
Java adalah untuk memecahkan masalah ini. tipe Generic memungkinkan
subuah single class untuk bekerja dengan pilihan tipe yang beraneka
ragam. Ini adalah jalan yang alami untuk mengeliminasi keperluan untuk
pemilihan (casting).
Mendeklarasikan sebuah Class Generic
Untuk menjalankan potongan code
sebelumnya, kita harus sudah mendefinisikan versi generic dari class
ArrayList. Untungnya, versi java terbaru sudah menyediakan user dengan
versi generic dari semua class-class Java Collection. Pada sesi ini,
Anda akan mempelajari bagaimana untuk mendeklarasikan class generic anda
sendiri. Dripada berdiskusi lebihpanjang lagi tentang bagaimana untuk
mendeklarasikan sebuah class generic , anda akan diberikan sebuah contoh
sederhana tentang class generic untuk dipelajari bentuknya.
Contoh Source Codenya
class BasicGeneric <A> {private A data;
public BasicGeneric(A data) {
this.data = data;
}
public A getData() {
return data;
}
}
Setelah itu buat code GenSample Program seperti ini
public class GenSample {
public String method(String input) {
String data1 = input;
BasicGeneric <String> basicGeneric = new
BasicGeneric <String>(data1);
String data2 = basicGeneric.getData();
return data2;
}
public Integer method(int input) {
Integer data1 = new Integer(input);
BasicGeneric <Integer> basicGeneric = new
BasicGeneric <Integer>(data1);
Integer data2 = basicGeneric.getData();
return data2;
}
public static void main(String args[]) {
GenSample sample = new GenSample();
System.out.println(sample.method("Some generic data"));
System.out.println(sample.method(1234));
}
}
Hasilnya
Sumber : JENI (Java Education Network Indonesia)
Tidak ada komentar:
Posting Komentar