Java-entfernen / hinzufügen von Methoden-sets
Warum funktioniert die Methode add(<T> element)
und remove(Object o)
akzeptieren andere Argumente?
Beispielsweise in einem Set<Short>
fügen Sie kurze Elemente. Warum funktioniert die Methode remove akzeptiert Object
? Wenn Sie können ' T fügen Sie keine anderen Daten geben, warum würden Sie entfernen Sie andere Daten geben?
Danke.
- Die JavaDoc erklärt das gut: Entfernt das angegebene element aus dieser Menge, wenn es vorhanden ist (optional operation). Mehr formal, entfernt ein element e, so dass (o==null ? e==null : o.equals(e)).
- entfernen Sie nicht ganz so wählerisch in der Art der parameter erforderlich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
add(<T> element)
: um sicherzustellen, dass nur ein T-element Hinzugefügt.remove(Object o)
: Sie können löschen Sie die T-element, auch wenn es ein auf die eine Objekt-Referenz.Zum Beispiel :
warum würden Sie entfernen Sie andere Daten geben? wir sind nicht entfernen weiterer Daten geben, aber wir können Daten entfernen, auch wenn darauf verwiesen wird, indem eine Referenz auf ein Objekt (wie im Beispiel).
Den
remove(obj)
Methode, löscht das Objekt, so dass(obj == null ? e ==null : obj.equals(e))
isttrue
. Es ist, weil derequals(Object)
Methode, die dauert eineObject
, dassobj
unde
müssen nicht vom gleichen Typ sein.