Rumah > Java > javaTutorial > Java Generics: Apakah Perbezaan Antara `? memanjangkan T` dan `? Super T` Wildcards?

Java Generics: Apakah Perbezaan Antara `? memanjangkan T` dan `? Super T` Wildcards?

DDD
Lepaskan: 2024-12-10 06:11:17
asal
867 orang telah melayarinya

Java Generics: What's the Difference Between `? extends T` and `? super T` Wildcards?

Java Generics: Exploring Wildcards

Artikel ini menyelidiki selok-belok kad bebas generik di Java, menangani dua soalan asas:

  1. 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: 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: 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.
  1. Perbezaan antara dan
  • Senarai: 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: 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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan