comprobar EmptyOrNull para la cantidad desconocida de colecciones y mapas

caballeros:

Estoy tratando de conseguir una utilcomo esta en la primavera de arranque:

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

para que pueda manejar casos como:

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

Cualquier ayuda será sinceramente apreciado :)

actualizado 06/12/2018

Gracias por la ayuda de @Deadpool, mi solución resulta:

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

Por supuesto, puede utilizar streamy method overloadingcomo NullPointer hace.

también:

No se . No se puede crear lo más genérica que busca un puesto Mapno es una Collection.

Y, por supuesto, Collection... collectionListsignifica args var para Collectionel tipo.

La única manera sería dividirlos en dos talones 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);
}

Supongo que te gusta

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