Java 檢查多個物件是否為null的方法如下。
使用Apache Commons Lang3 (3.5以上)的ObjectsUtils.allNotNull()
或ObjectsUtils.anyNotNull()
。
allNotNull()
檢查全部的物件皆不為null。全部不為null返回true,任一為null返回false。
anyNotNull()
檢查全部的物件任一不為null。任一不為null返回true,全部為null返回false。
Object obj1 = null;
Object obj2 = new Object();
Object obj3 = new Object();
boolean isAllObjectsNotNull = ObjectUtils.allNotNull(obj1, obj2, obj3); // false
System.out.println(isAllObjectsNotNull); // false
boolean isAnyObjectsNotNull = ObjectUtils.anyNotNull(obj1, obj2, obj3); // true
System.out.println(isAnyObjectsNotNull); // true
或是直接利用Java 8的Stream
搭配Objects.nonNull()
。
Object obj1 = null;
Object obj2 = new Object();
Object obj3 = new Object();
boolean isAllObjectsNotNull = Stream.of(obj1, obj2, obj3).allMatch(Objects::nonNull);
System.out.println(isAllObjectsNotNull); // false
boolean isAnyObjectsNotNull = Stream.of(obj1, obj2, obj3).anyMatch(Objects::nonNull);
System.out.println(isAnyObjectsNotNull); // true
參考:
沒有留言:
張貼留言