我正在尝试在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表示argt_code类型为var args。

    唯一的方法是将它们分成两个单独的存根,如下所示:

    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);
    }
    

    07-24 14:36