Generic pada java
Generic dikenal juga sebagai tipe data berparameter (parameterized types), yaitu tipe data yang biasanya didefinisikan di bagian argumen/parameter dan bersifat generik atau dikenali pada saat runtime.
Jika kita memiliki data untype (bertipe Object), maka biasanya kita melakukan casting untuk mengambil nilainya. Kesalahan konversi tipe data ini pada saat runtime sangat mungkin dan sering sekali terjadi. Untuk menghindarinya inilah kita perlu menempatkan tipe data generic ini.
Contoh tanpa menggunakan generic
import java.util.ArrayList;import java.util.List; public class BeforeGeneric1 { public static void main(String[] args) { List arrList = new ArrayList(); arrList.add(10);
arrList.add(new Integer(100));
arrList.add("Hello World !"); int a = ((Integer) arrList.get(0)).intValue();
Integer b = (Integer) arrList.get(1); String c = (String) arrList.get(2);
System.out.println(a);
System.out.println(b);
System.out.println(c); } }
Perhatikan bahwa untuk setiap akses nilai dari arrList ini, kita perlu melakukan konversi (casting) untuk tiap variabel dengan benar sesuai tipe data asalnya sehingga tidak terjadi error.
Jika kita melakukan kesalahan casting maka pada saat kompilasi akan diberikan pesan error. Untuk mengatasi hal tersebut di atas, maka digunakanlah suatu "parameter tipe" pada saat deklarasi objek yang disebut dengan generic.
Contoh penggunaan generic :
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; public class AfterGeneric { public static void main(String[] args) { List<integer> arrList = new ArrayList<integer>();
for (int i = 0; i < 10; i++) { arrList.add(i);
} Iterator<integer> i = arrList.iterator(); System.out.println("Deretan Angka Genap");
System.out.println("===================");
while (i.hasNext()) { int a;
a = i.next() * 2;
System.out.print("Hasil = " + a + "\n");
}
}
}
Comments
Post a Comment