Minggu, 09 Februari 2014

Pengenalan Generic

Share it Please
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).
Langkah awal mempertimbangkan sebuah object ArrayList dan lihatlah bagaimana type
generic akan membantu dalam peningkatan kode kita. Seperti yang sudah Anda ketahui,
sebuah object arraylist memiliki kemampuan untuk menyimpan elemen-elemen dari
beberapa tipe referensi untuk list ini. Sebuah instance arraylist, bagaimanapun, selalu
memaksa kita untuk men-downcast object-object kita membantu mendapatkan kembali
dari list. Pertimbangkan pernyataan berikut :






tipe class. Sama seperti, dia juga mempertahankan manfaat dari pengecekan tipe (type checking).
Kita dapat melanjutkannya dengan keperluan memiliki typecast elemen yang kita dapatkan dari list dan memiliki pernyataan berikut terhadap pernyataan sebelumnya :






Agar hanya memiliki ide bagaimana type-type generic digunakan sebelum materi ini dibahas lebih dalam, sebaiknya Anda pertimbangkan potongan kode berikut ini :








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.





Source : JENI (Java Education Network Indonesia)

Tidak ada komentar:

Posting Komentar

Followers

Follow The Author