// you’re reading...

Programmieren

Java 7 Switch nun mit Strings

Java 7 von Sun ist bereits herausgekommen. Ich habe mir mal ein paar Neuerungen in der neuen Version von Java angeschaut, welche meiner Meinung nach ganz brauchbare Features sein können. In der Vergangenheit fehlte manchmal die Möglichkeit in einer switch-Anweisung ganz schnell Strings auswerten zu können. In Java 7 ist diese Option nun neu hinzugekommen. Nun können Sie mit drei verschiedenen Datentypen die switch-Anweisung auswerten.

Switch mit int-Datentyp

Die bekannteste Methode, wie Sie auch in vielen Lehrbüchern finden sieht folgendermaßen aus:

        int i_wert = 1;

        switch(i_wert)
        {
            case 1:
                System.out.println("A");
                break;
            case 2:
                System.out.println("B");
                break;            
        }

Switch mit Enums

Enums konnten Sie auch vor Java 7 bei der switch-Anweisung verwenden. Diese Methode ist weniger bekannt, obwohl viel praktischer als der int-Datentyp, da bei Enums die Werte feste Konstantenbezeichnungen haben, welche im Quellcode selbstsprechend sind und nicht in jedem Fall extra dokumentiert werden müssen:

        Enums e_wert = Enums.A;

        switch(e_wert)
        {
            case A:
                System.out.println("A");
                break;
            case B:
                System.out.println("B");
                break;                        
        }

Das oben verwendete Enum muss wie folgt deklariert werden:

public enum Enums
{
    A, B, C;
}

Switch mit Strings

Neu in Java 7 ist die Option der Verwendung von Strings in switch-Anweisungen.  Für kleine und übersichtliche Programme ist dies eine feine Sache und sieht wie folgt aus:

        String s_wert = "A";

        switch(s_wert)
        {
            case "A":
                System.out.println("A");
                break;
            case "B":
                System.out.println("B");
                break;            
        }

Wenn es nicht viele Möglichkeiten für die Case-Bedingungen gibt, scheint dies eine gute Lösung zu sein, jedoch hat dies den Nachteil, dass wenn die Strings in mehreren Programmteilen verwendet werden, diese überall bei Änderungen nachgezogen werden müssen. Bei Verwendung von Enums (wie es bereits vor Java 7 möglich ist) ist der Wertebereich durch das Enum begrenzt und kann beispielsweise nicht in verschiedenen Programmbereichen unterschiedliche Schreibweisen erhalten (Rechtschreibfehler).

Weitere Meinungen über Sinn und Zweck gibt es hier.



Ähnliche Artikel

  1. Java Socket Client
  2. Java Datumsformatierung mit SimpleDateFormat
  3. Java ClassCastException
  4. Oracle Zugriff aus Java heraus
  5. Tastatur mit Java Robot steuern

Diskussion

Keine Kommentare für “Java 7 Switch nun mit Strings”

Kommentar schreiben

*