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).

To tyle w temacie nowego switcha 🙂 Zapraszam do dołączenia do dołączenia do newslettera. Tam co tydzień pojawiam się z tekstem natury ogólnoprogramistycznej albo związanej konkretnie z ekosystemem Java. Dołącz, zapraszam 🙂

Uczenie się – najważniejsza umiejętność dla programistów

Poza językiem angielskim jest jeszcze jedna ważna umiejętność dla każdego w branży IT, a mianowicie wiedzieć JAK się uczyć. Nieważne czy dopiero starasz się o pierwszą pracę, jesteś już juniorem, czy masz już dwucyfrowy staż pracy w branży. Na każdym z tych etapów uczyć się trzeba, jeśli pewnego dnia nie chcę się obudzić w bardzo niefajnej sytuacji. Zwłaszcza w obecnej rzeczywistości, a coś o tym wiem, bo moja etatowa firma żyję ze sprzedaży biletów lotniczych i rezerwacji hotelowych. Tough luck.

Mnie nigdzie nie nauczono jak się uczyć. Wiadomo – stare, sprawdzone, przekazywane z pokolenia na pokolenie “nie uczyć się na dzień przed egzaminem”, “wyśpij się” etc. etc. Oczywiście to wszystko prawda, problem był taki, że ja muszę wiedzieć DLACZEGO, prawdy objawione jakoś specjalnie nigdy na mnie nie działały.

O tym dlaczego proces nauki powinno się rozciągać w czasie i dziennie poświęcać jej godzinę, dwie. Nie więcej. O tym dlaczego sen jest ważny w kontekście uczenia się i o wielu, wielu rzeczach można dowiedzieć się ze świetnego, darmowego (!) kursu – Learning How to Learn – https://www.coursera.org/learn/learning-how-to-learn.

Polecam z całego serca.