Schrödinger programmiert Java - Das etwas andere Fachbuch
Schrödinger programmiert Java - Das etwas andere Fachbuch
Schrödinger programmiert Java - Das etwas andere Fachbuch
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