我正在尝试在 Spring Boot 中实现一个 util
:
public static boolean isAllEmptyOrNull(Collection... collectionList) {
for (Collection collection : collectionList) {
if (!Collections.isEmpty(collection)) {
return false;
}
}
return true;
}
所以我可以处理以下情况:
- isAllEmptyOrNull(listOfCat);
- isAllEmptyOrNull(listOfDog, mapOfStringToString);
- isAllEmptyOrNull(listOfDog, listOfCat);
- isAllEmptyOrNull(listOfDog, listOfCat, mapOfStringToList, mapOfStringToMap);
任何帮助将不胜感激:)
2018-12-06 更新
感谢@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
最佳答案
否。自 Map
以来,您无法像您正在寻找的那样创建它。不是 Collection
.
当然 Collection...collectionList
表示 Collection
类型的 var args。
唯一的方法是将它们分成两个单独的 stub :
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);
}
关于java - 检查 EmptyOrNull 以获取未知数量的集合和 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53644376/