Kad Liar Berbilang pada Kaedah Generik
Soalan: Bolehkah kad bebas yang berbeza dalam kaedah generik merujuk kepada jenis yang berbeza sama sekali, dan bagaimanakah kad bebas bersarang berkelakuan?
Jawapan:
Kad bebas bersarang adalah punca kekeliruan, bukan berbilang kad bebas.
Snippet Penjelasan:
-
LOLUnknowns1: Mungkin Tidak Sah menambah Senarai> senaraikan ke Senarai> lol. Ini menyusun kerana ? dalam Senarai> boleh merujuk kepada mana-mana jenis, manakala Senarai> boleh mengandungi senarai apa-apa jenis.
-
LOLUnknowns1a: Bila sama ? digunakan untuk kedua-dua Senarai> jenis, kompilasi gagal kerana peraturan penukaran tangkapan untuk kad bebas bersarang melarang penggunaan satu ? untuk kedua-dua senarai.
-
LOLUnknowns1b: Apabila satu hujah jelas batal, kompilasi berjaya kerana null boleh digunakan untuk mana-mana jenis generik dan tidak mengambil bahagian dalam penukaran tangkapan.
-
DoubleLOL: Menambah dua Senaraikan> kejadian dibenarkan kerana penukaran tangkapan tidak digunakan secara rekursif, bermakna ? boleh merujuk kepada jenis yang berbeza dalam setiap senarai.
-
IntoTheWild: Mencipta Senarai> untuk Senarai> tidak dibenarkan kerana penukaran tangkapan tidak digunakan secara rekursif.
-
IntoTheWild2: Penukaran tangkapan tidak boleh digunakan pada jenis senarai dalam, jadi List
> bukan Senarai>.
Ringkasnya, berbilang kad bebas dalam kaedah generik membenarkan kefleksibelan dalam mengendalikan jenis yang tidak diketahui, manakala kad bebas bersarang mempunyai sekatan khusus yang berkaitan dengan penukaran tangkapan.
Atas ialah kandungan terperinci Bolehkah Kad Liar Berbilang dalam Kaedah Generik Merujuk kepada Jenis Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!