Datenstrukturen / Das Collection-Framework - Institut für ...
Datenstrukturen / Das Collection-Framework - Institut für ...
Datenstrukturen / Das Collection-Framework - Institut für ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Wildcards (1)<br />
Zunächst einmal kann das Zuweisungsproblem durch Benutzung der<br />
so genannten Wildcards umgangen werden. Hierbei gibt man explizit<br />
an, dass man nicht genau weiß, welcher Typ als Typparameter<br />
verwendet wurde:<br />
List intList = new Vector();<br />
List list = intList;<br />
list.add(new Double(3.14)); // nicht erlaubt<br />
list.add(new Integer(1)); // nicht erlaubt<br />
list.add(null);<br />
// erlaubt<br />
Die logische Folge ist, dass nun keine Objekte mehr über die neue<br />
Referenz eingefügt werden können. Da für den Compiler nicht<br />
ersichtlich ist, mit welchem Typ list parametrisiert wurde, kann er für<br />
die add()-Methode nicht den Typ des nötigen Parameters bestimmen.<br />
<strong>Das</strong> einzige, was er zulassen kann, ist der Wert null, da dieser quasi<br />
Subtyp aller Klassen ist: Egal, mit welchem Typ das Objekt, auf list<br />
referenziert, parametrisiert wurde, null kann immer eingefügt werden.<br />
40 W. Geiger, W. Süß, T. Schlachter<br />
<strong>Institut</strong> für Angewandte Informatik