Java 17 - Was ist neu ?

21 September, 2021

Die neue Java LTS ist draußen. Also kann man sich die Frage stellen: Was ist neu?

Das finde ich sind die wichtigsten Sachen, die sich verändert haben.

Um kurz auch mal über Pattern Matching für Switch und Sealed Classes zu reden:

Pattern Matching:

Es gibt jetzt mehr Möglichkeiten Switch zu benutzen, statt if-else. Hier sind ein paar Beispiele:

static void testTriangle(Shape s) {
    switch (s) {
        case Triangle t && (t.calculateArea() > 100) ->
            System.out.println("Large triangle");
        default ->
            System.out.println("A shape, possibly a small triangle");
    }
}
static void test(Object o) {
    switch (o) {
        case null      -> throw new NullPointerException();
        case String s  -> System.out.println("String: "+s);
        case Integer i -> System.out.println("Integer");
        default  -> System.out.println("default");
    }
}

Sealed Classes:

Man kann nun einschränken, wer alles eine Klasse erben oder implementieren kann.

public abstract sealed class Shape
    permits Circle, Rectangle, Square { ... }

Was wurde zwischen der letzter LTS Version und jetzt verändert?

Ich finde, das sind die wichtigsten und größten Änderungen.

Um auch mal kurz auf die nächste Java Version zu sprechen zu kommen.

Die wichtigste Änderung für Java 18 wird die Standardisierung von UTF-8.

Und dann mal sehen was noch so kommt.

Hit Counter

4