15.09.2014 Aufrufe

Schrödinger programmiert Java - Das etwas andere Fachbuch

Schrödinger programmiert Java - Das etwas andere Fachbuch

Schrödinger programmiert Java - Das etwas andere Fachbuch

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.

List monate = new ArrayList(); *1<br />

List monate2 = new ArrayList(); *2<br />

monate.add("Januar"); *3<br />

monate.add("Februar");<br />

monate.add("März");<br />

monate.add("April");<br />

System.out.println(monate.size()); *4<br />

String januar = monate.get(0); *5<br />

*2 Seit <strong>Java</strong> 7 kann die Angabe des Typs<br />

auf der rechten Seite der Zuweisung wegfallen.<br />

Davor musste man in den spitzen Klammern<br />

auch den Typ angeben.<br />

*3 Ein paar Elemente<br />

hinzufügen ...<br />

*1 So erstellst du eine Liste.<br />

Links das Interface, rechts die Implementierung.<br />

Die Angabe in den spitzen Klammern gibt<br />

den Typ an, den Elemente haben müssen, wenn sie<br />

in die Gruppe wollen. In der Realität nennt man<br />

sowas Gruppenzwang, in <strong>Java</strong> nennt man das<br />

Generics. Generics erhöhen die Typsicherheit beim<br />

Programmieren. Eben bei den Arrays hast<br />

du gesehen, dass du Probleme bekommst,<br />

wenn du Hunde und Katzen gemeinsam in ein Array<br />

packst und diese Probleme erst zur Laufzeit erkennst.<br />

Mit Generics kann der Compiler dich bereits<br />

zur Compilezeit vor sowas warnen. Mehr Details dazu<br />

gibt’s in Kapitel 10.<br />

[Achtung]<br />

Du darfst bei dieser Deklaration keine<br />

primitiven Datentypen verwenden,<br />

so <strong>etwas</strong> wie List geht nicht!<br />

Stattdessen musst du die jeweilige Wrapper-<br />

klasse verwenden, denn Listen funktionieren<br />

genau wie alle Collections nur mit Ob-<br />

jekten – übrigens einer der wesentlichen<br />

Unterschiede zu Arrays.<br />

*4 ... und die Größe ausgeben: 4,<br />

wie erwartet.<br />

*5 Über get() bekommst du die Elemente in der Liste.<br />

Und da wir bei der Deklaration der Liste angegeben haben, dass<br />

nur Strings in der Liste sind, bekommen wir hier auch<br />

direkt einen String zurück. Hätten wir das nicht getan, das heißt,<br />

hätten wir keine Generics verwendet, müssten wir hier<br />

umständlich den Typ prüfen und casten. Noch ein weiterer<br />

Unterschied zwischen Collections und Arrays: Arrays waren schon<br />

immer typisiert, Collections erst seit <strong>Java</strong> 5.<br />

Kapitel ACHT

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!