Ya tenemos Java 11 en el mercado, por lo tanto es hora de pensar en java 12 y estas son las nuevas características :
Un switch más inteligente: En java 12 vamos a poder hacer lo siguiente:
switch (day) {
case MONDAY, FRIDAY, SUNDAY -> System.out.println(6);
case TUESDAY -> System.out.println(7);
case THURSDAY, SATURDAY -> System.out.println(8);
case WEDNESDAY -> System.out.println(9);
}
A la vez vamos a poder asignar un elemento de la siguiente manera:
int numLetters = switch (day) {
case MONDAY, FRIDAY, SUNDAY -> 6;
case TUESDAY -> 7;
case THURSDAY, SATURDAY -> 8;
case WEDNESDAY -> 9;
};
o podríamos hacer algo así:
int j = switch (day) {
case MONDAY -> 0;
case TUESDAY -> 1;
default -> {
int k = day.toString().length();
int result = f(k);
break result;
}
};
También va traer literales Raw String, que que seria? Podemos tener string en varias lineas:
String html = `<html>
<body>
<p>Hello World.</p>
</body>
</html>
`;
veamos otro ejemplo:
String script = `function hello() {
print('"Hello World"');
}
hello();
`;
Este string no solo permite varias líneas sino que tambien no es necesario el carácter de escape, para caracteres raros.
Y luego tenemos algunos cambios menores.
Estos cambios están en draft pero que piensa de ellos.