Java 14 już na horyzoncie

Nowy rok mocno się rozpędza, a więc na horyzoncie pojawia się już powoli nowa wersja Javy - Java 14. Właśnie zatwierdzono zmiany, które zostaną wprowadzone 17 marca, kiedy to faktycznie nowa Java uzyska status General Availability. Zobaczmy zajawkę najważniejszych zmian jakich możemy spodziewać się w nowej wersji.

Java 14 - 17 Marca 2020

  • Pattern matching dla operatora instanceof.

    Eksperymentalna funkcjonalność, która upraszcza użycie operatora instanceof. Przed Javą 14 trzeba wykonać pewien ciąg operacji (rzutowanie i przypisanie), które tak naprawdę zawsze wyglądają podobnie. Od wersji 14 już na etapie sprawdzania warunku możemy określić zmienną oczekiwanego typu:
    if (obj instanceof String) {
        String someText = (String) obj;
        System.out.println(someText);
    }
    
    if (obj instanceof String someText) {
        System.out.println(someText);
    }
    
  • Wsparcie dla NullPointerException.

    Jak wiemy do tej pory jeśli budowaliśmy ciąg metod uruchamianych w tej samej linii, na przykład:
    documents.getDocument().getName()
    

    nie zawsze mieliśmy pewność co tak naprawdę jest w danej linii nullem (w przypadku gdy otrzymaliśmy NullPointerException). Od Javy 14 dostaniemy bardziej konkretną informację o takim problemie. Na przykład jeśli zmienna person jest nullem i próbujemy przypisać do niej datę urodzenia
    person.birtdate = ...
    

    wówczas otrzymamy komunikat podobny do tego:
    Exception in thread "main" java.lang.NullPointerException: 
        Cannot assign field "birthdate" because "person" is null at NLPTest.main(NLPTest.java:8)
    

    Fajne.
  • Switch Expressions - Wyrażenia te pojawiły się w wersji dwunastej, a w trzynastej zostały rozszerzone. W Java 14 wreszcie przestają być dostarczane w formie eksperymentalnej i wchodzą do standardu Javy. Dają one sporo możliwości ograniczając przy tym ilość pisanego kodu do niebędnego minimum. I tak na przykład zamiast dotychczasowego zapisu znanego z instrukcji switch możemy osiągnąć ten sam rezultat stosując nowy dużo krótszy zapis:
    switch (day) {
        case MONDAY:
        case FRIDAY:
        case SUNDAY:
            System.out.println(6);
            break;
        case TUESDAY:
            System.out.println(7);
            break;
        case THURSDAY:
        case SATURDAY:
            System.out.println(8);
            break;
        case WEDNESDAY:
            System.out.println(9);
            break;
    }
    
    switch (day) {
        case MONDAY, FRIDAY, SUNDAY -> System.out.println(6);
        case TUESDAY                -> System.out.println(7);
        case THURSDAY, SATURDAY     -> System.out.println(8);
        case WEDNESDAY              -> System.out.println(9);
    }
    
    Jeśli interesuje Was więcej w tym temacie to przypominamy, że opisywaliśmy te zagadnienia już wcześniej w artykułach Java 12 nadchodzi oraz Java 13 już we wrześniu.
Zmian w nowej Javie jest więcej, choć te które tu opisaliśmy wydają się być najciekawsze (subiektywnie). Czasu do 17 marca jeszcze trochę pozostało, więc na pewno będziemy do tego tematu wracać. Jeśli ktoś już teraz jest bardzo zainteresowany innymi nowościami, to zapraszamy na stronę openjdk (link na dole strony). Tam pod nagłówkiem Features można znaleźć wszystkie zatwierdzone zmiany jakie znajdą się w oficjalnie udostępnionej wersji.
Autor: Jarek Klimas
Data: 21 stycznia 2020
Labele:Backend, Poziom podstawowy, Java Linki:
https://openjdk.java.net/projects/jdk/14
Masz swoje przemyślenia na temat artykułu? Podziel się nimi!
Masz pytanie odnośnie zagadnienia omawianego w artykule?
Coś, co napisaliśmy, nie zaspokoiło Twojego głodu wiedzy?
Daj nam znać co myślisz i skomentuj artykuł na facebooku!

Stale się rozwijamy, a więc bądź na bieżąco!
Na ten adres będziemy przesyłać informacje o ważniejszych aktualizacjach, a także o nowych materiałach pojawiających się na stronie.
Polub nas na Facebooku:
Nasi partnerzy: stackshare
Javappa to również profesjonalne usługi programistyczne oparte o technologie JAVA. Jeśli chesz nawiązać z nami kontakt w celu uzyskania doradztwa bądź stworzenia aplikacji webowej powinieneś poznać nasze doświadczenia.
Kliknij O nas .


Pozycjonowanie stron: Grupa TENSE