J2SDK 5.0 (the version formerly known as 1.5)
Was ist neu in "Tiger"?
Meta-Data (Annotations)
Java-Elemente wie Klassen, Methoden und Felder können mit Metadaten versehen werden, die in der kompilierten Klassen-Datei gespeichert werden. Tools wie Debugger können diese Metadaten über Reflection auswerten. Metadaten werden mit dem "at" ('@')-Zeichen eingeleitet. Beipiel: public @remote void ping() { /*...*/ } . Ein Werkzeug könnte daraus den kompletten Code für den Aufruf per RPC generieren.
Generics
Wo immer Typen verwendet werden, können nun Platzhalter für Klassen zum Einsatz kommen. ArrayList list = new ArrayList(); zum Beispiel definiert eine ArrayList, die Elemente vom Typ Integer enthält. Der Compiler kann somit den Typ von Elementen prüfen, die in die Liste eingefügt oder aus ihr gelesen werden. Dies ermöglich mehr Prüfungen zur Kompilierungszeit, vermeidet Probleme zur Laufzeit, und eliminiert casts.
Auto boxing/unboxing
Im letzten Beispiel ist dem Compiler bekannt, dass in der ArrayList nur Elemente vom Typ Integer enthalten sein können. In diesem Fall werden bei add(3) und get() + 4 primitive Typen automatisch in ihre Wrapper-Klassen umgewandelt, und umgekehrt.
Demnächst:
- Verbesserte Schleifen (à la "for each x in collection")
- Aufzählungstypen
- Statischer Import
- Formattierte Ausgabe/Eingabe (à la "printf"/"scanf")
- Methoden mit variabler Parameteranzahl
- Neue Thread-Libraries
- Neues JVM-API
- GTK-Skins für Swing-Anwendungen
Mehr
|