我正在Spring Boot中尝试实现util
:
public static boolean isAllEmptyOrNull(Collection... collectionList) {
for (Collection collection : collectionList) {
if (!Collections.isEmpty(collection)) {
return false;
}
}
return true;
}
所以我可以处理以下情况:
衷心感谢您的帮助:)
感谢@Deadpool的帮助,我的解决方案证明了:
public static boolean isAllCollectionEmptyOrNull(Collection... collections) {
for (Collection collection : collections) {
if (!Collections.isEmpty(collection)) {
return false;
}
}
return true;
}
public static boolean isAllMapEmptyOrNull(Map... maps) {
for (Map map : maps) {
if (!Collections.isEmpty(map)) {
return false;
}
}
return true;
}
当然,您可以像nullpointer一样使用stream
和method overloading
。
答案 0 :(得分:2)
您可以有两种不同的util方法,一种用于检查Collection
对象,另一种用于Map
对象,因为Map
不是Collection
接口的子对象
public static boolean isAllEmptyOrNull(Collection... collectionList) {
return Arrays.stream(collectionList).anyMatch(item->item==null || item.isEmpty());
}
public static boolean isAllEmptyOrNull(Map... maps) {
return Arrays.stream(maps).anyMatch(item->item==null || item.isEmpty());
}
要检查所有对象null
或empty
public static boolean isAllEmptyOrNull(Collection... collectionList) {
return Arrays.stream(collectionList).allMatch(item->item==null || item.isEmpty());
}
public static boolean isAllEmptyOrNull(Map... maps) {
return Arrays.stream(maps).allMatch(item->item==null || item.isEmpty());
}
答案 1 :(得分:2)
否。由于Map
不是Collection
,因此您无法按需要创建通用名称。
当然,Collection... collectionList
表示Collection
类型的变量参数。
唯一的方法是将它们分成两个单独的存根,如:
public static boolean isAllEmptyOrNull(Collection... collectionList) {
return Arrays.stream(collectionList).allMatch(Collection::isEmpty);
}
public static boolean isAllEmptyOrNull(Map... maps) {
return Arrays.stream(maps).allMatch(Map::isEmpty);
}
答案 2 :(得分:1)
您可以尝试以下方法:
public static boolean isAllEmptyOrNull(Collection... collectionList) {
return Arrays.stream(collectionList).anyMatch(Collection::isEmpty);
}