Java Generics: Exploring Wildcards
Artikel ini menyelidiki selok-belok kad bebas generik di Java, menangani dua soalan asas:
- Bounded vs. Unbounded Kad liar
Kad liar diwakili dengan tanda tanya (?) diikuti dengan sempadan. Kad bebas terhad mengehadkan jenis generik, manakala kad bebas tanpa sempadan tidak.
-
Kad liar Terhad:
- Senarai melanjutkan T>: Ini menunjukkan bahawa senarai boleh memuatkan mana-mana subjenis T. Ia adalah kad bebas sempadan atas, bermakna ia mengehadkan jenis untuk melanjutkan T atau mana-mana subkelasnya.
- Senarai super T>: Ini menunjukkan bahawa senarai itu boleh menyimpan mana-mana supertype T. Ia adalah kad bebas sempadan bawah, bermakna ia mengehadkan jenis untuk menjadi nenek moyang T atau kelas induknya.
- Perbezaan antara memanjangkan T> dan super T>
- Senarai memanjangkan T>: Jenis ini mewakili senarai yang boleh memuatkan objek jenis T atau mana-mana subkelas T. Contohnya, senarai dengan unsur jenis Dog boleh diberikan kepada senarai dengan parameter jenis ini.
- Senaraikan super T>: Jenis ini mewakili senarai yang boleh menyimpan objek jenis T atau mana-mana kelas super T. Contohnya, senarai dengan unsur jenis Haiwan boleh diberikan kepada senarai dengan parameter jenis ini.
Bacaan Lanjut
Untuk penjelasan yang lebih komprehensif tentang generik Java dan kad bebas, rujuk perkara berikut sumber:
- [Wildcards](https://docs.oracle.com/javase/tutorial/java/generics/wildcards.html)
- [Lebih Seronok dengan Kad bebas](https://docs.oracle.com/javase/tutorial/extra/generics/morefunwithwildcards.html)
Atas ialah kandungan terperinci Java Generics: Apakah Perbezaan Antara `? memanjangkan T` dan `? Super T` Wildcards?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!