4 回答

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊
在java里null與空數(shù)組不是同一個(gè)概念。如果要判斷數(shù)組是否為空,可以這樣寫(xiě)。
`
if (map.get(a) == null || map.get(a).size() == 0)
`
如果是生產(chǎn)環(huán)境下,建議使用工具類,例如
apache common
或者spring都提供CollectionUtils.isEmpty(map.get(a))

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超7個(gè)贊
如果一個(gè) ArrayList 已經(jīng)實(shí)例化,那肯定不等于 null 了。
既然可以執(zhí)行 toString 方法而不報(bào)錯(cuò),肯定是實(shí)例化過(guò)的。因?yàn)?toString 是頂級(jí)父類 Object 的方法,沒(méi)有實(shí)例化的對(duì)象怎么可能有這個(gè)方法。
ArrayList list = new ArrayList();
System.out.println(list == null); // false
ArrayList list1 = null;
System.out.println(list1.toString()); // 空指針

TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊
map.get(a).toString().equals("");一直是false
你打印出來(lái)的結(jié)果a**[]
可以看出來(lái)map.get(a).toString()
不是空字符串,而是[]
,因此"[]".equals("")
始終為false
map.get(a)!=null;一直是true
如果map.get(a).toString()
沒(méi)拋空指針異常,那么map.get(a)
必定是非空的
判斷空
如果key對(duì)應(yīng)的值始終是ArrayList,那么可以用以下方法:
map.get(a) == null || map.get(a).isEmpty()
添加回答
舉報(bào)