Metamodeling
and its Applications
tud

Mit der Einführung von Java 5.0 sind einige neue Sprachkonstrukte hinzugekommen, die hier kurz vorgestellt werden. Weitere Informationen finden sich auf den Webseiten von SUN.

Hinweise zur Verwendung von Java 5.0 im RBG-Pool finden sich am Ende des Dokuments.

Lesbarkeit von Schleifen

Man kann nun einfacher über Objekte einer Sammlung iterieren:

for (Object o : aCollection)
{
o...
}

Generische Datentypen

Die Klassen der Collection API machen umfangreich Gebrauch von den neu hinzugekommen generischen Datentypen. Bereits bei der Instanziierung einer Collection kann man angeben, welche Objekte von der Collection aufgenommen werden. Bei dem Entnehmen der Objekte kann dann eine Cast-Anweisung entfallen und bei dem Hinzufügen falscher Elemente werden Fehlermeldungen ausgelöst.

Mit Vector<String> collection = new Vector<String>(); kann man beispielsweise einen Vector erzeugen, der nur Strings aufnimmt.

Autoboxing/-unboxing

Wenn man bisher mit Primitiven (z.B int) und Wrapper-Klasse (z.B. Integer) gearbeitet hat, waren häufig folgende Umkonvertierungen nötig:

int i=3;
Integer j = new Integer(b);


oder:
Integer i = new Integer(3);
int j = i.intValue();


Mit Java 5.0 entfällt dieses sogenannte Boxing (Unboxing):

int i = new Integer(3);

oder

Integer i = 3;

Typsichere Aufzählungen

Bislang gab es in Java keine Aufzählungen. Die einzige Art und Weise eine Auzählung zu simulieren war das sogennante int Enum pattern:
public static final int SEASON_WINTER = 0;
public static final int SEASON_SPRING = 1;
public static final int SEASON_SUMMER = 2;
public static final int SEASON_FALL = 3;

Mit Java 5.0 gibt es nun folgendes Konstrukt
public static enum Season { WINTER, SPRING, SUMMER, FALL };
Dieses Beispiel basiert auf der umfangreicheren Dokumentation von SUN.

Compiler

Der Java 5 Compiler erzeugt normalerweise nur Klassen, die mit einer VM der Version 5 laufen. Per -source 1.4 lässt sich dieses Verhalten abschalten, jedoch können dann die neuen Funktionen nicht genutzt werden.

Quelle http://java.sun.com/j2se/1.5.0/docs/relnotes/features.html

Java 5 im RBG Pool

Falls Sie Java 5 im Pool der Rechnerbetriebsgruppe einsetzen wollen, müssen sie die Environment-Variable JAVA_HOME anpassen:

export JAVA_HOME=/opt/gnome/java/jdk1.5.0

Eclipse 3.2 verwendet als Default-VM 1.4.2, sie müssen folgende Einstellungen anpassen, um stattdessen 1.5 (Java 5) zu verwenden. Der erste Screenshot zeigt die Umstellung der Default-VM, sie können natürlich auch nur einzelne Projekte umstellen.