Apache通用集合安全空檢查


Apache Commons Collections庫的CollectionUtils類提供各種實用方法,用於覆蓋廣泛用例的常見操作。 它有助於避免編寫樣板程式碼。 這個庫在jdk 8之前是非常有用的,但是現在Java 8的Stream API提供了類似的功能。

 檢查非空列表

CollectionUtils的`isNotEmpty()`方法可用於檢查列表是否為null而不用擔心null列表。 因此,在檢查列表大小之前,不需要將無效檢查放在任何地方。

宣告
以下是org.apache.commons.collections4.CollectionUtils.isNotEmpty()方法的宣告 -

public static boolean isNotEmpty(Collection<?> coll)

引數

  • coll - 要檢查的集合,可能為null

返回值

  • 如果非空且非null,則返回為:true

範例
以下範例顯示org.apache.commons.collections4.CollectionUtils.isNotEmpty()方法的用法。 在這範例中將檢查一個列表是否為空。

import java.util.List;

import org.apache.commons.collections4.CollectionUtils;

public class CollectionUtilsTester {
   public static void main(String[] args) {
      List<String> list = getList();
      System.out.println("Non-Empty List Check: " + checkNotEmpty1(list));
      System.out.println("Non-Empty List Check: " + checkNotEmpty1(list));
   }

   static List<String> getList() {
      return null;
   } 

   static boolean checkNotEmpty1(List<String> list) {
      return !(list == null || list.isEmpty());
   }

   static boolean checkNotEmpty2(List<String> list) {
      return CollectionUtils.isNotEmpty(list);
   } 
}

執行上面範例程式碼,得到以下結果 -

Non-Empty List Check: false
Non-Empty List Check: false

檢查空的列表

CollectionUtils的isEmpty()方法可用於檢查列表是否為空。 因此,在檢查列表大小之前,不需要將無效檢查放在任何地方。

宣告

以下是org.apache.commons.collections4.CollectionUtils.isEmpty()方法的宣告 -

public static boolean isEmpty(Collection<?> coll)

引數

  • coll - 要檢查的集合,可能為null

返回值

如果為空或為null,則返回為true

範例

以下範例顯示org.apache.commons.collections4.CollectionUtils.isEmpty()方法的用法。在這個範例中將檢查一個列表是否為空。

import java.util.List;

import org.apache.commons.collections4.CollectionUtils;

public class CollectionUtilsTester {
   public static void main(String[] args) {
      List<String> list = getList();
      System.out.println("Empty List Check: " + checkEmpty1(list));
      System.out.println("Empty List Check: " + checkEmpty1(list));
   }

   static List<String> getList() {
      return null;
   } 

   static boolean checkEmpty1(List<String> list) {
      return (list == null || list.isEmpty());
   }

   static boolean checkEmpty2(List<String> list) {
      return CollectionUtils.isEmpty(list);
   } 
}

執行上面範例程式碼,得到以下結果 -

Empty List Check: true
Empty List Check: true