Non, cette méthode n'existe pas dans Guava et se trouve en fait dans notre "cimetière d'idées".
Nous ne pensons pas que "is null or empty" soit une question à poser sur une collection.
Si une collection peut être nulle et que null doit être traité de la même manière que empty, il faut lever toute ambiguïté dès le départ, comme ceci :
Set<Foo> foos = NaughtyClass.getFoos();
if (foos == null) {
foos = ImmutableSet.of();
}
ou comme ceci (si vous préférez) :
Set<Foo> foos = MoreObjects.firstNonNull(
NaughtyClass.getFoos(), ImmutableSet.<Foo>of());
Après cela, vous pouvez simplement utiliser .isEmpty()
comme la normale. Faites-le immédiatement après avoir appelé la vilaine API et vous aurez mis fin à la bizarrerie, au lieu de la laisser se poursuivre indéfiniment.
Et si le "null qui signifie en réalité une collection vide" ne vous est pas retourné, mais vous est passé, votre travail est facile : il suffit de laisser un NullPointerException
être lancé, et faire en sorte que l'appelant s'organise.