Ich habe Schwierigkeiten, Wildcards in Java-Generika zu verstehen. Ich habe speziell die folgenden Fragen:Schwierigkeit Wildcards in Java verstehen
Wenn wir eine
LinkedList<?>
haben, warum können wir eineObject
es nicht hinzufügen? Ich verstehe, dass es den Typ der Liste nicht kennt, aber würde keinObject
zur Liste hinzufügen, haben wir in jeder Situation abgedeckt?Ähnlich wie die Frage oben, wenn wir
LinkedList<? extends Number>
haben, warum können wir nichtadd
einNumber
zu ihm?Schließlich, wenn wir
LinkedList<? super Number>
haben, warum können wiradd
eineInteger
auf der Liste, sollten wir nicht in der Lage, nur die Dinge hinzufügen, die eine übergeordnete Klasse der Nummer sind?
Ich denke, ich versuche zu verstehen, wie Platzhalter in der Regel arbeiten, ich habe die Oracle-Tutorials auf sie zu lesen, und ein paar andere Dinge, aber ich verstehe nicht, warum sie arbeiten nehme ich an.
Liste > bedeutet, dass die Liste alles enthalten kann, aber alle diese Anythings vom selben Typ sind. Da Sie nicht wissen, was sie sind, können Sie keinen hinzufügen. – deanosaur
Aus irgendeinem Grund habe ich über UNIX-Shell-Wildcards nachgedacht. – hcaulfield57