16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

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.

<strong>Programmieren</strong> <strong>in</strong> <strong>Java</strong><br />

6.2.6 Generics<br />

6.2.6.1 Sammlungsklassen<br />

Mit <strong>Java</strong> 1.5 wur<strong>de</strong> durch E<strong>in</strong>führung <strong>de</strong>r sog. Generics das Feld <strong>de</strong>r Templatebasierten<br />

Metaprogrammierung eröffnet. Das s<strong>in</strong>nvollste E<strong>in</strong>satzfeld dieses<br />

Mechanismus bil<strong>de</strong>t die Anwendung auf die vorhan<strong>de</strong>nen Klassen <strong>de</strong>r Collection API<br />

zur Realisierung typsicherer Objektsammlungen.<br />

Allgeme<strong>in</strong>e Syntax: Nachstellung <strong>de</strong>s durch spitze W<strong>in</strong>kellammern e<strong>in</strong>geschlossenen<br />

Typnamens nach <strong>de</strong>m Namen <strong>de</strong>r so typisierten Sammlung, z.B.<br />

Def<strong>in</strong>ition e<strong>in</strong>er Liste, die ausschließlich Objekte <strong>de</strong>s Typs Str<strong>in</strong>g enthält: List<br />

Bsp. 315 :<br />

import java.util.*;<br />

import java.util.List;<br />

class ListTest<br />

{<br />

public static void ma<strong>in</strong>(Str<strong>in</strong>g [] args)<br />

{<br />

List xs = new ArrayList();<br />

xs.add("Shakespeare");<br />

xs.add("Schiller");<br />

xs.add("Goethe");<br />

xs.add("Brecht");<br />

xs.add("Thomas Mann");<br />

Str<strong>in</strong>g x = xs.get(3);<br />

System.out.pr<strong>in</strong>tln(xs);<br />

}<br />

}<br />

Test:<br />

Aus Kompatiblitätsgrün<strong>de</strong>n mit bestehen<strong>de</strong>m Co<strong>de</strong> können generische Klassen auch<br />

weiter h<strong>in</strong> ohne konkrete Angabe <strong>de</strong>s Typparameters benutzt wer<strong>de</strong>n. Während <strong>de</strong>r<br />

Übersetzung wird <strong>in</strong> diesen Fällen e<strong>in</strong>e Warnung ausgegeben.<br />

import java.util.*;<br />

import java.util.List;<br />

class WarnTest<br />

{<br />

public static void ma<strong>in</strong>(Str<strong>in</strong>g [] args)<br />

{<br />

List xs = new ArrayList();<br />

xs.add("Shakespeare");<br />

xs.add("Schiller");<br />

xs.add("Goethe");<br />

315 pr66100<br />

449

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!