Java 17
Novidades
-
Sealed class (classe selada)
-
Veio com o JEP 409
JEP = JDK Enhancement Proposal
-
Restringir quais classe podem herdar de uma classe mãe, ou seja, as classes só serão estendidas pelas classes que tiverem permissão para isso (
permission) -
Modificador
sealed: tornar uma classe selada -
Cláusula
permission: especificar as classes que têm permissão para estender uma classe selada -
Exemplo

-
-
Pattern Matching for
switch(preview)-
Tornar a instrução
switchmuito mais programável e flexível, permitindo a implementação de padrões nos blocoscasedoswitch -
Essa funcionalidade está disponível apenas para tipos numéricos,
enumeString -
OBS: é possível apenas testar igualdades exatas (
==) em relação às constantes -
É possível tratar de modo mais simples condições de valores nulos (
null)-
Sem Pattern Matching

-
Com Pattern Matching

-
-
Mudanças entre as versões LTS: Java 11 e Java 17
-
Triple quotes
-
Facilitar a manipulação de String, principalmente ao escrever uma String JSON
-
Java 11

-
Java 17

-
-
Records
-
Criar classes imutáveis e com a geração automática de construtores, getters, setters, equals e hashcode
-
Java 11
-
Era necessário crias todos esses métodos manualmente ou via IDE
-
Utilização da biblioteca Lombok
-
-
Java 17

-
-
Stream to List
-
Conversão um Stream para uma List
-
Java 11

-
Java 17

-