Rumah > Soal Jawab > teks badan
项目中需要用一个List
接多种List<T>
。
这样写List<Object> list = getType1List();
编译不通过,提示获取的类型与指定的类型不匹配。
但是换成List list = getType1List();
就能编译通过了。这是为什么呢?
PHPz2017-04-17 17:26:05
Cara penulisan seperti List list = getType1List();
ini ialah cara Java digunakan untuk menulisnya sebelum tiada generik Cara penulisan ini adalah jenis tidak selamat Memandangkan tiada parameter jenis, apa-apa jenis yang dimasukkan ke dalamnya boleh dihimpun dan diluluskan .
Selepas mempunyai generik, biasanya disyorkan untuk menulis dengan generik dan menggunakan parameter jenis List<Object> list = getType1List();
Sama seperti ini, pengkompil akan menyemak sama ada jenis yang dimasukkan adalah konsisten dengan parameter jenis Jika ia tidak konsisten, pengkompil akan melaporkan ralat.