Java Java17 - sfrancois99/WIKI GitHub Wiki
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";
};