Gibt es eine vorhandene Hilfsmethode in Java 8-Standardbibliothek oder in Guava, die sicherstellt, dass die Auflistung nicht null ist und jedes Element (falls vorhanden) nicht null ist?Vorhandene Hilfsmethode, um sicherzustellen, dass alle Auflistungselemente nicht null sind
Wie eine "Collection-Version" von Objects.requireNonNull()
.
Ich konnte so etwas bisher nicht finden. Denn jetzt habe ich eine triviale Nutzenfunktion, die die Arbeit erledigt:
public static void requireAllNonNull(final Collection<?> collection) {
Objects.requireNonNull(collection, "Collection must not be null");
if (collection.stream().anyMatch(Objects::isNull)) {
throw new NullPointerException("Collection elements must not be null");
}
}
Aber das Problem ist, dass es in verschiedenen (nicht verwandten) Projekten dupliziert werden muss.
Eine Alternative wäre, nur Guava's immutable collections zu verwenden, die null
Werte überhaupt nicht zulassen, aber manchmal Sammlungen stammen aus anderen Quellen.
ganz gut ist, und es gibt nichts eingebaut. – Tunaki
Eine Option besteht darin, Nullwerte in Iterationen und Streams aus der Sammlung zu filtern und zu ignorieren. Wenn Sie stattdessen nach vorne schauen, bevor Sie die Werte verwenden, und anderer Code Zugriff auf die Sammlung hat, kann sich der Inhalt zwischen Ihrer Überprüfung und späteren Verwendung ändern. –
'if (collection.contains (null)) ...' – Holger