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 e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *