在java開發中新手容易將判斷一個list集合是否為空,只以If(list!=null)去判斷,且容易和isEmpty()混淆,但是,list集合為空還是為null,是有區別的。
先看一下下面的例子,你是否會認為輸出null呢?
看一下控制台輸出結果:
造成這種結果其實是null判斷是判斷有沒有對list集合分配內存空間,而不是list里面內容是否為空。
看一下isEmpty()
isEmpty() 和(list.size() == 0)都是判斷List內容是否為空
new一個user對象,判斷user的list內容是否為空,出現異常,這是因為, 使用isEmpty()和size()的前提是,list是一個空集合,而不是null,否則會拋異常。
所有我們在判斷集合不為空的時候常采用:if(list!=null&&!list.isEmpty())的方法去取list里面的值