java - 怎么判断map key对应的值是不是空的
ringa_lee
ringa_lee 2017-04-18 09:07:32
0
4
3031

System.out.println("a**"+map.get(a).getClass());
System.out.println("a**"+map.get(a));

-------------分割线------------
a**class java.util.ArrayList
a**[]

以上是控制台打印出来的东西。

map.get(a).toString().equals("");一直是false
map.get(a)!=null;一直是true

ringa_lee
ringa_lee

ringa_lee

membalas semua(4)
左手右手慢动作

if(map.get(a)==null)Tidakkah anda tahu sama ada ia kosong?

Ty80

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()); // 空指针
洪涛

map.get(a).toString().equals(""); sentiasa palsu

Hasil yang anda cetaka**[] boleh dilihat bahawa map.get(a).toString() bukan rentetan kosong, tetapi [], jadi "[]".equals("") sentiasa palsu

map.get(a)! =null; sentiasa benar

Jika map.get(a).toString() tidak membuang pengecualian penuding nol, maka map.get(a) mestilah bukan nol

Hakim kosong

Jika nilai yang sepadan dengan kunci sentiasa ArrayList, maka kaedah berikut boleh digunakan:

map.get(a) == null || map.get(a).isEmpty()
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan