verifique EmptyOrNull para quantidade desconhecida de coleções e mapas

senhores:

Estou tentando conseguir um utilcomo este na Primavera de inicialização:

public static boolean isAllEmptyOrNull(Collection... collectionList) {
    for (Collection collection : collectionList) {
        if (!Collections.isEmpty(collection)) {
            return false;
        }
    }
    return true;
}

para que eu possa lidar com casos como:

  • isAllEmptyOrNull (listOfCat);
  • isAllEmptyOrNull (listOfDog, mapOfStringToString);
  • isAllEmptyOrNull (listOfDog, listOfCat);
  • isAllEmptyOrNull (listOfDog, listOfCat, mapOfStringToList, mapOfStringToMap);

Qualquer ajuda será sinceramente apreciado :)

Atualizado 2018/12/06

Obrigado pela ajuda de @Deadpool, minha solução acaba por:

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

Claro, você pode usar streame method overloadingcomo nullpointer faz.

também:

Não . Você não pode criá-lo como genérico, como você está procurando uma vez que um Mapnão é um Collection.

E, claro, Collection... collectionListsignifica args var para Collectiontipo.

A única forma seria a de dividi-los em dois tocos separados como:

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

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=187003&siteId=1
Recomendado
Clasificación