Collection<?>
ist der Supertyp für alle Arten von Collection
einschließlich Collection<?>
Verwendung von Collection<?>
ermöglicht es Ihnen, den Inhalt der Sammlung zu erhalten, der immer mindestens ein Objekt sein wird.
Aber wie Nathan sagte, mit Collection<?>
erlaubt es Ihnen nicht, Elemente hinzuzufügen oder zu entfernen. Denn jeder Parameter, der zum Hinzufügen oder Entfernen übergeben wird, müsste ein Subtyp dieses unbekannten Typs sein ( <?>
). Da wir nicht wissen, welcher Typ das ist, können wir nichts übergeben. Die einzige Ausnahme ist null, das ein Mitglied jedes Typs ist.
Wenn Sie also nur den Inhalt der Datenbank abfragen wollen Collection
Sie können den Typ Wilcard verwenden, aber wenn Sie einige Elemente hinzufügen/entfernen möchten, müssen Sie Collection<Object>
.