Mengapakah Kaedah Pembuangan Koleksi Java Bukan Generik?
Dalam antara muka Koleksi Java, kaedah alih keluar(Objek o) bukan generik. Ini menimbulkan persoalan mengapa kaedah ini secara khusus kekurangan generik, terutamanya apabila kaedah lain seperti Collection
Memahami Sebab
Berbeza dengan kaedah tambah, yang menambah objek pada koleksi, kaedah buang mengalih keluar objek berdasarkan kesamarataan. Ini memerlukan pengendalian objek daripada jenis berbeza yang mungkin daripada jenis khusus yang sama atau mungkin tidak seperti koleksi.
Spesifikasi untuk remove(o) menyatakan bahawa ia mengalih keluar objek e sedemikian rupa sehingga (o==null ? e==null : o.equals(e)) adalah benar. Keadaan ini membolehkan objek daripada jenis berbeza dibandingkan dan dialih keluar jika ia dianggap sama.
Contoh: Peta dengan Jenis Berbeza
Pertimbangkan Peta Sekatan Generik Jika kaedah alih keluar adalah generik dan mengehadkan jenis hujahnya, ia tidak membenarkan jenis fleksibiliti ini. Ia hanya akan mengalih keluar objek daripada jenis khusus yang sama seperti koleksi, menjadikannya mustahil untuk mengalih keluar objek daripada jenis berbeza yang masih sama. Kesimpulan Sementara generik menyediakan keselamatan jenis yang kukuh, sifat bukan generik kaedah alih keluar membolehkan julat pengendalian objek yang lebih luas berdasarkan kesaksamaan. Fleksibiliti ini diperlukan dalam senario di mana koleksi mengandungi pelbagai jenis objek yang perlu dialih keluar berdasarkan kandungan dan bukannya kelas tertentu. Atas ialah kandungan terperinci Mengapa Koleksi Java Bukan Kaedah `remove()` Generik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!