J. E. N. I.
checking). Kita dapat melanjutkannya dengan keperluan memiliki typecast elemen yang kita dapatkan dari list dan memiliki pernyataan berikut terhadap pernyataan sebelumnya:
String myString = myArrayList. get( 0);
Walaupun downcasting sudah terhapus, ini bukan berarti bahwa Anda dapat menandai segala sesuatu sebagai return value dari method get dan melanjutkannya dengan typecasting semuanya. Jika Anda menandai sesuatu yang lain disamping sebuah String untuk output dari method get, Anda akan menghadapi sebuah waktu mengcompile type tidak sesuai seperti pesan berikut ini:
found: java. lang. String required: java. lang. Integer Integer data = myArrayList. get( 0);
Untuk Anda agar hanya memiliki ide bagaimana type-type generic digunakan sebelum materi ini digali lebih dalam, pertimbangkan potongan kode berikut ini:
ArrayList < String > genArrList = new ArrayList < String >(); genArrList. add(" A generic string "); String myString = genArrList. get( 0); JoptionPane. showMessageDialog( this, myString);
Amatilah melalui pernyataan, anda mungkin mengamati kata < String > segera terlihat setelah referensi tipe data arraylist. Anda dapat menerjemahkan pernyataan pertama sebagai instantiasi sebuah versi generic dari class ArrayList dan versi generic ini terdiri dari object-object dari tipe String. genArrList adalah batas dari tipe String. Oleh sebab itu, mengikat sebuah Integer atau beberapa tipe lain bukan String untuk hasil dari get function akan menjadi illegal. Pernyataan berikut ini adalah illegal.
int myInt = genArrList. get();
13.3 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.
class BasicGeneric < A > { private A data; public BasicGeneric( A data) { this. data = data;
} public A getData() { return data;
}
}
Pengenalan Pemrograman 2 2