Java中的集合類與物件的判空
阿新 • • 發佈:2019-02-13
1.集合類Array、List、Map、Set的判空
a.List進行判空
//判斷關聯的積分項是否為空,若不為空,則插入資料庫
if(pointsItemList != null && !pointsItemList.isEmpty()){
// 不為空的程式碼處理
}
!= null 與 !isEmpty()就如前輩所說的杯子與水的道理:!= null是為了判斷有沒有水杯;!isEmpty()是為了判斷水杯裡有沒有水;二者合一,就能穩穩的判定pointsItemList 是否為空。
誤區:使用pointsItemLists.size() == 0,
List一旦初始化,就無法用.size()來處理,因為.size()是判斷的元素的個數。
b.Array進行判空
// 判斷是否為空
public static boolean isEmptyArray(Object[] objs) {
return (null == objs || objs.length == 0);
}
// 判斷是否不為空
public static boolean isNotEmptyArray(Object[] objs) {
return !isEmptyArray(objs);
}
c.Map進行判空
// 判斷是否為空
public static boolean isEmptyMap(Map<?, ?> map) {
return (null == map || map.size() == 0);
}
// 判斷是否不為空
public static boolean isNotEmptyMap(Map<?, ?> map) {
return !isEmptyMap(map);
}
d.Set進行判空
// 判斷是否為空
public static boolean isEmptySet(Set<?> set) {
return (null == set || set.size() == 0);
}
// 判斷是否不為空
public static boolean isNotEmptySet (Set<?> set) {
return !isEmptySet(set);
}
2.String 物件的判空
a.判定空物件:String s = null;
定義:
空物件是指定義一個物件s,但是沒有給該物件分配空間,即沒有例項化該物件,因此,空物件在呼叫所有物件方法時候都會丟擲異常,如s.length(), s.isEmpty()等方法。
判定:
判斷一個字元變數是否是null ,使用 邏輯判斷 等於(==)與null物件比較,程式碼表達式如下:
s == null;
b.判定空值”“:String s = “”;
定義:
空值是指一個字串物件已經例項化,即系統已經給該變數分配了空間,只是物件的內容為空。
判定:
三種方式:
(1) s.equals(“”), equals方法比較的是兩個物件的內容是否相同;
(2) s.length() == 0, length()方法是檢視某個字串物件的字元個數;
(3) s.isEmpty(),isEmpty()方法是判斷某個字串物件字元個數是否為0 ;
c.判定空格” “:String s = ” “;
定義:
是指一個字元物件已經例項化,物件的內容為空格。
判定:
s.equals(” “) ;