A Java SE 8 előtt a Collection.removeAll(Collection) és a
retainAll(Collection) legtöbb megvalósítása false értéket ad
vissza, és jelzés nélkül figyelmen kívül hagyja a null paramétert, ha maga
a gyűjtemény üres volt. A Java 8 változatban minden gyűjtemény
megvalósítás NullPointerException kivételt dob, ha
egy paraméterként nullérték van megadva.
Annak azonosításához, hogy ezek a kivételek hol fordulhatnak elő, ez a
szabály megjelöli a removeAll(Collection) és a
retainAll(Collection) metódusok hívásait a következő
megvalósításokban és felületekben, hogy kiértékelhesse a logikát egy
váratlan NullPointerException kivétel elkerülése érdekében.
A következő megvalósítások esetén meg van jelölve a
retainAll(Collection) metódus. Ezeknél a
removeAll(Collection) metódus már egy
NullPointerExceptions kivételt dob a Java 6 és Java 7
változatban.
A Java 8 nem vezet be viselkedésváltozást a következő gyűjtemény megvalósítások esetén, így ezeket a szabály nem jelöli meg:
UnsupportedOperationException kivételt dobUnsupportedOperationException kivételt dobNullPointerException
kivételt
A java.util.Collection felülettel és annak
megvalósításaival kapcsolatos további információkért tekintse meg az
Interface java.util.Collection Java dokumentációt.