Java 14 – ulepszona instrukcja switch

W Javie 14 ulepszono nieco składnie dla instrukcji warunkowej switch. Do tej pory przykładowa instrukcja wyglądała tak:

        String command = "add";
        String result = "";

        switch(command) {
            case "add":
                result = "ok";
                break;
            case "remove":
            case "update":
                result = "not ok";
                break;
            default:
                result = "meh";
                break;
        }

Dzięki użyciu nowej składni możemy powyższe zamienić na coś o wiele przyjemniejszego dla oka:

String command = "add";
String result = "";

switch(command) {
    case "add" -> result = "ok";
    case "remove", "update" -> result = "not ok";
    default -> result = "meh";
}

System.out.println(result);

Przede wszystkim pozbywamy się nieszczęsnego break, o którym to każdemu programiście zdarzyło się co najmniej raz w karierze zapomnieć. Dodatkowo wszystkie wartości jakie mają mieć taką samą obsługę wrzucam do jednego case’a, a nie tworzymy jeden pod drugim, co też jest generalnie czytelniejsze.

Ale to nie wszystko! Możemy też używać teraz switcha jako swoistej funkcji, mianowicie taki kod zadziała:

String command = "add";
String result = switch(command) {
    case "add" -> "ok";
    case "remove", "update" -> "not ok";
    default -> "meh";
};

System.out.println(result);

Możemy ominąć niepotrzebne przypisywanie, tylko użyć switch jako funkcji, z tą różnicą, że nawet nie musimy używać return (podobnie jak w lambdach jednolinijkowych).

By być na bieżąco i mieć realny wpływ na tematykę tworzonych przeze mnie artykułów zapraszam do dołączenia do mojego newslettera.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *