Změna chování ve většině implementací Collection.removeAll a Collection.retainAll

Před verzí Java SE 8 většina implementací Collection.removeAll(Collection) a retainAll(Collection) vrací hodnotu false a bezobslužně ignoruje parametr Null, pokud je samotná kolekce prázdná. Ve verzi Java 8 všechny implementace kolekcí generují výjimku NullPointerException, pokud je jako parametr poskytnuta hodnota null.

Chcete-li identifikovat místo, kde může dojít k výjimkám, označí toto pravidlo vyvolání metod removeAll(Collection) a retainAll(Collection) v dále uvedených implementacích a rozhraních, abyste mohli vyhodnotit uplatněnou logiku, a tím zabránit neočekávané výjimce NullPointerException.

Metoda retainAll(Collection) je označena pro následující implementace. Pro tyto účely metoda removeAll(Collection) již v prostředí Java 6 a Java 7 vyvolá výjimku NullPointerExceptions.

Java 8 nezavádí změnu chování pro následující implementace kolekce, takže nejsou označeny tímto pravidlem:

Další informace o rozhraní java.util.Collection a jeho implementacích viz dokumentace Java Interface java.util.Collection.