一、基礎判空方法
經常有這樣的需求:在開發中需要對數組進行判空來避免出現空指針異常。最基礎的判空方法就是判斷數組是否為null或數組長度是否為0。
public static boolean isEmpty(Object[] array) {
return array == null || array.length == 0;
}
調用方法如下:
Object[] array = null;
boolean isEmpty = isEmpty(array);
System.out.println(isEmpty); //輸出 true
或者:
Object[] array = new Object[0];
boolean isEmpty = isEmpty(array);
System.out.println(isEmpty); //輸出 true
二、使用Guava庫來判空
Guava庫中提供了一種更簡潔的方法來判斷數組是否為空。使用一個簡單的方法串聯起來即可:
public static boolean isEmpty(Object[] array) {
return array == null || array.length == 0;
}
boolean isEmpty = Objects.equal(array, null) || array.length == 0;
調用方法同上,輸出結果也是 true。
三、判空封裝類
為了不重複寫判斷數組是否為空的方法,我們可以將其封裝成一個工具類,方便項目中復用。
public class ArrayUtils {
public static boolean isEmpty(Object[] array) {
return array == null || array.length == 0;
}
}
調用方法如下:
Object[] array = null;
boolean isEmpty = ArrayUtils.isEmpty(array);
System.out.println(isEmpty); //輸出 true
或者:
Object[] array = new Object[0];
boolean isEmpty = ArrayUtils.isEmpty(array);
System.out.println(isEmpty); //輸出 true
四、Java 8的判空方式
在Java 8中,可以使用Stream API來判斷數組是否為空:
Optional.ofNullable(array)
.map(Arrays::stream)
.orElseGet(Stream::empty)
.findFirst()
.isPresent();
調用方法同上。
五、總結
在開發中,判斷數組是否為空是一個很常見的需求。我們可以根據具體情況靈活運用基礎方法、Guava庫、封裝類和Java 8的方法來進行判空。
原創文章,作者:QWPBE,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/372940.html