Viselkedésváltozás a legtöbb Collection.removeAll és Collection.retainAll megvalósításban

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:

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.