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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Viл fachр s mit ys!<br />

N s ch: Mein Compiler meckert, dass der SchuhTesterMitArray<br />

die Methode getSchuhKollektion() nicht implementiert. Die Methode hatte ich<br />

ja eben im Interface hinzufügen müssen. Arrays sind ja keine Collections,<br />

wie soll ich das д jzt machн?<br />

Nichts leichter als das, denn zum Glück kannst du über die Helferklasse Arrays<br />

ein Array direkt in eine Liste umwandeln. Und Listen sind Collections.<br />

@Override<br />

public Collection getSchuhKollektion() {<br />

return Arrays.asList(this.schuhe);*1<br />

}<br />

Aber wieder zurück zu unserer neuen Implementierung:<br />

*1 Die Helfermethode<br />

Arrays.toList() wandelt<br />

ein Array in eine Liste um.<br />

Praktisch, oder?<br />

In der Main-Klasse kannst du einfach die Array-basierte Schuhtester-Implementierung gegen<br />

die auf Collections basierende austauschen.<br />

SolcheSchuheHastDuSchonTester tester = new SchuhTesterMitCollection<br />

(new ArrayList());<br />

Јtzt weiß ich нdch,<br />

s р mit дm Schuhтstр-Infa<br />

гbt t!<br />

Probier auch gleich mal die neue Methode aus:<br />

System.out.println(tester.getSchuhKollektion().size());<br />

Liф 4 zück! <strong>Das</strong> bedeutet ja, dass ich<br />

mit der size()-Methode auch die richtige Anzahl der Elemente im<br />

Array … äh, ich meine natürlich in der Collection … herausbekomme<br />

und nicht bloß, wie viele Plätze insgesamt zur Verfügung<br />

stehen. Gefällt mir ja jetzt schon besser als das Arbeiten<br />

mit rohen Arrays. Wum gibt’s e н Din<br />

eitch?<br />

Na ja, so dumm sind die Arrays auch wieder nicht. Du solltest immer abwägen, ob für das,<br />

was du gerade programmieren möchtest, Arrays nicht vielleicht sogar die bessere Wahl sind.<br />

Wenn du zum Beispiel sehr viel mit primitiven Datentypen arbeitest, sind Arrays performanter, denn<br />

Collections funktionieren nur mit den Wrapperklassen. Die wiederum belegen mehr Speicher.<br />

320 Kapitel ACHT

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!