Nein, diese Methode gibt es in Guave nicht und sie befindet sich tatsächlich auf unserem "Ideenfriedhof".
Wir glauben nicht, dass "null oder leer" eine Frage ist, die Sie jemals wirklich zu einer Sammlung stellen möchten.
Wenn eine Sammlung null sein könnte und null genauso wie leer behandelt werden sollte, sollten Sie all diese Unklarheiten wie folgt aus dem Weg räumen:
Set<Foo> foos = NaughtyClass.getFoos();
if (foos == null) {
foos = ImmutableSet.of();
}
oder so (wenn Sie es vorziehen):
Set<Foo> foos = MoreObjects.firstNonNull(
NaughtyClass.getFoos(), ImmutableSet.<Foo>of());
Danach können Sie einfach .isEmpty()
wie gewohnt verwenden. Tun Sie dies sofort, nachdem Sie die ungezogene API aufgerufen haben, und Sie haben die Verrücktheit hinter sich gelassen, anstatt sie unbegrenzt weiterlaufen zu lassen.
Und wenn die "Null, die wirklich leere Sammlung bedeutet" nicht an Sie zurückgegeben, sondern an Sie übergeben wird, ist Ihre Aufgabe einfach: Lassen Sie einfach einen NullPointerException
werfen und lassen Sie diesen Anrufer in Form kommen.