17.01.2014 Aufrufe

Datenstrukturen / Das Collection-Framework - Institut für ...

Datenstrukturen / Das Collection-Framework - Institut für ...

Datenstrukturen / Das Collection-Framework - Institut für ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!