Contoh artikel ini merangkum penggunaan obat generik di Java. Bagikan untuk semua orang untuk referensi Anda. Spesifiknya adalah sebagai berikut:
1 Penggunaan Dasar
Daftar Antarmuka Publik <E> {void add (e);2 generik dan subkelas
Anak adalah subclass dari orang tua, tetapi daftar <ndnd> bukan subclass dari daftar <parter>.
Jadi: Daftar <POMPENT> Daftar = Daftar ArrayList baru <String> () salah.
Jika di atas benar, maka:
Daftar <string> ls = ArrayList baru <string> (); Objek ke String akan gagal.
3 Wildcard
Karena 2, implementasi berikut tidak dimungkinkan untuk output dari koleksi terpadu.
Void printCollection (collection <boject> c) {for (objek o: c) {// lakukan sesuatu}}}Jadi, perlu digunakan? ::
Void printCollection (koleksi <?> C) {for (objek o: c) {// 1 // lakukan sesuatu} // okJenis di sini tidak diketahui, tetapi objek apa pun adalah objek, jadi contoh 1 di atas benar. Tetapi contoh berikut salah:
void add (collection <? Extends myclass> c) {c.add (myclass baru ());Alasannya juga sangat jelas,?
4. Metode pembuatan
Contoh di atas dapat dicapai:
<T> Tambah (koleksi <T> c, tt) {c.add (t);}Dalam premis memastikan semantik, kompiler akan membantu melakukan jenis pekerjaan konversi.
5. Perbandingan Runtime Generik
Daftar <string> L1 = ArrayList baru <string> (); / BENAR
Karena kelas generik sama dengan kapan.
6 array generik (dapat menyebabkan jenisnya tidak aman)
Salin kode kode sebagai berikut: Daftar <String> [] lsa = ArrayList baru <string> [10];
Jika memungkinkan, jenisnya mungkin tidak aman. menyukai:
Object O = LSA; S = LSA [1] .get (0); // kesalahan runtime
Diharapkan bahwa artikel ini bermanfaat untuk desain program Java semua orang.