4 回答

TA貢獻1848條經(jīng)驗 獲得超10個贊
雖然中文都是空,但是英文有 null 和 empty 的區(qū)別
List<String> list = new ArrayList<String>();
使用了 new
運算符搞出來的東西一定不會是 null
,因為這里已經(jīng)產(chǎn)生了一個對象。
但是由于沒有加入元素,它是 empty 的,所以 list.size() == 0
。

TA貢獻1909條經(jīng)驗 獲得超7個贊
null是沒有初始化,如List<String> list = null;
初始化而沒有值,如List<String> list = new ArrayList<String>();
源碼如下:
public boolean isEmpty() {
return size == 0;
}
常用Apache中的工具類來判斷:StringUtils.isEmpty(); StringUtils.isBlank();

TA貢獻1884條經(jīng)驗 獲得超4個贊
List<String> list = null;
System.out.println(list == null);
list = new ArrayList<String>();
System.out.println(list == null);
System.out.println(list.isEmpty()); // 沒有元素
自己看看2者的不同。

TA貢獻1802條經(jīng)驗 獲得超6個贊
添加回答
舉報