Java Java17 - sfrancois99/WIKI GitHub Wiki

<Back | <<Home

Java 17


Voici quelques nouveautés de Java 17.

1. Les classes de type "record"

  • Elles permettent de créer des objets immutables.
  • Les attributs sont définis directement comme paramètres dans le constructeur.
  • Il n'existe pas de constructeur vide par défaut.
  • Pas besoin de redéfinir manuellement equals(), hashcode() ni toString()

2. Les Text Blocks

  • Depuis Java 15, il est possible d'écrire des blocs de texte sur plusieurs lignes en les encadrant par 3 doubles quotes.
    Exemple :
String example = """  
     Example text""";

3. La "Switch Expression"

  • En utilisant la "Switch Expression" (ajout d'une flêche ->) , plus besoin de rajouter le break; à la fin de chaque case.
    Exemple :
switch (args[0]) {  
    case "A" -> System.out.println("Parameter is A");  
    case b -> System.out.println("Parameter is b");  
    default -> System.out.println("Parameter is unknown");  
};

3.1 Mot clé "yield

Dans une switch Expression, le mot clé "yield" fait un return.

String message = switch (number) {
    case ONE:
        yield "Got a 1";
    case TWO:
        yield "Got a 2";
    default:
        yield "More than 2";
};

4. Amélioration de la stacktrace