Di Java, tatasusunan null dan kosong bukanlah konsep yang sama. Jika anda ingin menentukan sama ada tatasusunan kosong, anda boleh menulisnya seperti ini.
` jika (map.get(a) == null || map.get(a).size() == 0) `
Jika ia adalah persekitaran pengeluaran, adalah disyorkan untuk menggunakan kelas alat, seperti apache common atau spring menyediakan CollectionUtils.isEmpty(map.get(a))
Jika ArrayList telah dibuat instantiated, ia pastinya tidak sama dengan null. Memandangkan kaedah toString boleh dilaksanakan tanpa melaporkan ralat, ia mesti telah dibuat seketika. Oleh kerana toString ialah kaedah Objek kelas induk peringkat atas, bagaimanakah objek tidak segera mempunyai kaedah ini.
ArrayList list = new ArrayList();
System.out.println(list == null); // false
ArrayList list1 = null;
System.out.println(list1.toString()); // 空指针
if(map.get(a)==null)
Tidakkah anda tahu sama ada ia kosong?Di Java, tatasusunan null dan kosong bukanlah konsep yang sama. Jika anda ingin menentukan sama ada tatasusunan kosong, anda boleh menulisnya seperti ini.
`
jika (map.get(a) == null || map.get(a).size() == 0)
`
Jika ArrayList telah dibuat instantiated, ia pastinya tidak sama dengan null.
Memandangkan kaedah toString boleh dilaksanakan tanpa melaporkan ralat, ia mesti telah dibuat seketika. Oleh kerana toString ialah kaedah Objek kelas induk peringkat atas, bagaimanakah objek tidak segera mempunyai kaedah ini.
map.get(a).toString().equals(""); sentiasa palsu
Hasil yang anda cetak
a**[]
boleh dilihat bahawamap.get(a).toString()
bukan rentetan kosong, tetapi[]
, jadi"[]".equals("")
sentiasa palsumap.get(a)! =null; sentiasa benar
Jika
map.get(a).toString()
tidak membuang pengecualian penuding nol, makamap.get(a)
mestilah bukan nolHakim kosong
Jika nilai yang sepadan dengan kunci sentiasa ArrayList, maka kaedah berikut boleh digunakan: