Java: Erweiterte Funktionen von JDK 1.5

Die neue Version von Java wird die Java Specification Requests 14 und 175 (JSR-14, (JSR-175) umsetzen. Außerdem soll sie erhebliche Verbesserungen in puncto Laufzeit-Performance, Skalierbarkeit, Verwaltbarkeit und Überwachung mit sich bringen.

In diesem Artikel werden einige der neuen Funktionen von JDK 1.5 erläutert, darunter:

  • Generics: Bieten Typsicherheit zur Kompilierzeit für Collections und sorgen dafür, dass nicht bei jeder Entnahme eines Objekts aus den Collections ein Casting erforderlich wird.
  • Erweiterte for-Schleife: Beseitigt Fehleranfälligkeit von Iteratoren.
  • Autoboxing/Unboxing: Keine manuelle Konvertierung zwischen primitiven Typen (wie double) und Wrapper-Typen (wie Double) mehr erforderlich.
  • Typsichere Enumerations: Liefern alle Vorteile des Typesafe enum-Pattern.
  • Statischer Import: Vor der Verwendung der statischen Member-Variablen anderer Klassen müssen keine Klassennamen mehr benutzt werden. Dadurch wird der Code übersichtlicher.
  • Metadaten: Kein Schreiben von wiederkehrenden Informationen mehr erforderlich, ermöglicht deklarative Programmierung.

Im Folgenden werden die genannten Funktionen im Detail beleuchtet und einige Beispiele erörtert.

Generics

Generics sind eines der praktischsten Features von JDK 1.5. Sie ermöglichen Typsicherheit zur Kompilierzeit und wahrscheinlich weniger ClassCastExceptions während der Laufzeit. In JDK 1.5 kann man den Objekttyp festlegen, den eine bestimmte Collection akzeptiert/zurückgibt. In JDK 1.4 ist zum Erstellen einer Liste aus Mitarbeiternamen ein Collection-Objekt wie die folgende Anweisung erforderlich:

In JDK 1.5 würde man die folgende Anweisung verwenden:

Interessant ist hierbei, dass man bei Eingaben, die keinen String darstellen, dies in Kompilierzeit feststellt, so dass man das Problem beheben kann. Ohne Generics würde man einen solchen Bug erst bemerken, wenn der Kunde anruft und angibt, dass das ausgelieferte Programm einen Konflikt mit einer ClassCastException verursacht hat.

Außerdem ist positiv zu erwähnen, dass beim Abruf eines Elements aus der Collection kein Casting erforderlich ist. Statt der folgenden Anweisung:

lautet die Eingabe einfach:

Das Casting von Objekten ohne Kenntnis von deren Typ ist nicht ratsam und kann vor allem zur Laufzeit fehlschlagen. Es könnte zum Beispiel vorkommen, dass der Benutzer versehentlich eine Collection einsetzt, die String-Buffer statt Strings enthält. In Listing A wird der Client zur Eingabe einer String-Collection aufgefordert, was der Compiler nicht erzwingen kann. Listing B zeigt, wie diese Methode mit Generics aussieht.

Nun ist aus der Signatur der Methode klar geworden, dass die Input-Collection nur Strings enthalten darf. Wenn der Client die Eingabe einer Collection aus String-Buffern versucht, führt das Programm keine Kompilierung durch. Außerdem enthält die Methode keine Casts. Sie ist um eine Zeile kürzer und auch übersichtlicher, wenn man sich erst einmal an das Lesen von Generics gewöhnt hat.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

KI-gestütztes Programmieren bringt IT-Herausforderungen mit sich

OutSystems-Studie: 62 Prozent der Befragten haben Sicherheits- und Governance-Bedenken bei Softwareentwicklung mit KI-Unterstützung.

3 Tagen ago

Studie: Ein Drittel aller E-Mails an Unternehmen sind unerwünscht

Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…

6 Tagen ago

HubPhish: Phishing-Kampagne zielt auf europäische Unternehmen

Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…

7 Tagen ago

1. Januar 2025: Umstieg auf E-Rechnung im B2B-Geschäftsverkehr

Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.

1 Woche ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…

1 Woche ago

Erreichbarkeit im Weihnachtsurlaub weiterhin hoch

Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…

1 Woche ago