08.07.2011

Java 7 - Switch/Case Statements jetzt auch mit String-Werten

Eine wesentliche Neuerung in kommenden Java Version ist die Möglichkeit direkt auf der Basis von Strings zu verzweigen. In der aktuellen Version ist eine Nutzung von Strings nur mit einem Umweg möglich, da dies nur auf primitiven Daten und ihren Wrapper-Objekten möglich war.

Eine Lösung ist die Nutzung des HashCodes des entsprechenden Strings zur Ermittlung des Einstiegspunktes. Ebenfalls denkbar ist die Nutzung einer Map in der die Strings den Schlüssel bilden und die Werte für die Auswertung des Switch/Case genutzt werden. Beide Lösungen entsprechen nicht dem, was ich selber in einer produktiven Umgebung einsetzen und für gut befinden würde. Daher hat sich für mich die einzige Lösung in der Nutzung von Enums herauskristallisiert.


Mit der neuen Java Version ist es nun möglich direkt mit Strings zu arbeiten. Damit kann nun anhand eines Strings in die Case-Anweisungen gesprungen werden.

 
Ob dies nun Einzug in die reale Programmierung halten sollte und ob ein Vergleich von Strings eine sinnvolle Sache für die Nutzung des Switch/Case ist, das sei nun jedem selbst überlassen. Da mir persönlich das Konzept der Enums deutlich besser gefällt, werde ich diesem wohl treu bleiben.

Für die Einrichtung eines Eclipse mit dem Support des aktuellen Java 7 Release Kandidaten empfehle ich die Informationen aus dem Eclipse Wiki als Dokumentation. Die aktuelle Version von Eclipse unterstützt den JAva 7 RC noch nicht von Haus aus und muss dementsprechend erst konfiguriert werden.

2 Kommentare: