144 votes

Est-ce que java.util.List.isEmpty() vérifie si la liste elle-même est nulle ?

Fait java.util.List.isEmpty() vérifier si la liste elle-même est null ou dois-je faire cette vérification moi-même ?

Par exemple :

List<String> test = null;

if (!test.isEmpty()) {
    for (String o : test) {
        // do stuff here            
    }
}

Est-ce que cela jettera un NullPointerException parce que le test est null ?

6voto

lxknvlk Points 81

En plus de Réponse du Lion je peux dire que vous feriez mieux d'utiliser if(CollectionUtils.isNotEmpty(test)){...} .

Cela vérifie également l'absence de nullité, de sorte qu'une vérification manuelle n'est pas nécessaire.

3voto

Aufziehvogel Points 1940

Oui, il le fera. lancer une exception . Peut-être avez-vous l'habitude de PHPempty($element) vérifie également isset($element) . En Java, ce n'est pas le cas.

Vous pouvez mémoriser cela facilement, car la méthode est directement appelée sur la liste (la méthode appartient à la liste). Donc s'il n'y a pas de liste, alors il n'y a pas de méthode. Et Java se plaindra qu'il n'y a pas de liste sur laquelle appeler cette méthode.

1voto

Arif Acar Points 576

Vous pouvez également utiliser votre propre méthode isEmpty (pour les collections multiples). Ajoutez-la à votre classe Util.

public static boolean isEmpty(Collection... collections) {
    for (Collection collection : collections) {
        if (null == collection || collection.isEmpty())
            return true;
    }
    return false;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X