java - 检查 EmptyOrNull 以获取未知数量的集合和 map

标签 java dictionary collections java-8

我正在尝试在 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一样使用streammethod 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/

相关文章:

java - jackson 序列化 Collections.unmodifiable*

c# - 我们应该在接口(interface)中使用 ICollection<T> 并在类中使用 Collection<T> 吗?

java - 许多类引用数据库连接类的最佳方式

java 8 与 Glassfish 4.1 Artifact HelloWorld :war exploded: Server is not connected. 部署不可用

java - ANDROID:开始另一项 Activity 但没有任何反应

python - 计算并删除键中的重复项,同时保留值

java - 跟踪 ThreadPoolExecutor java 中生成的线程

java - 如何从 JComboBox 获取文本?

c++ - 删除元素时使用 STL 映射的迭代器时遇到问题

java - 集合的奇怪行为 - 排序方法