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";
};