Vamos a ver algunas características de la nueva versión de Java:
Switch con string: la verdad que esto tendría que haber estado hace tiempo, ahora podemos hacer lo siguiente:
switch (color) {
case “red”:
…
break;
case “blue”:
…
break;
case “black”:
…
break;
}
Diamante: el operador diamante nos permite no declarar 2 veces el tipo en objetos generic.
Listcolores = new ArrayList<>();
Try de recursos: Esto esta bueno, antes de java 7 cuando abriamos un archivo debíamos cerrarlo, ahora no! Veamos un antes y despues para ser más claro:
Antes:
try {
fis = new FileInputStream(source);
fos = new FileOutputStream(target);
byte[] buf = new byte[8192];
int i;
while ((i = fis.read(buf)) != -1) {
fos.write(buf, 0, i);
}
}
catch (Exception e) {
e.printStackTrace();
} finally {
if ( fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if ( fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Ahora:
try (InputStream fis = new FileInputStream(source);
OutputStream fos = new FileOutputStream(target)){
byte[] buf = new byte[8192];
int i;
while ((i = fis.read(buf)) != -1) {
fos.write(buf, 0, i);
}
}
catch (Exception e) {
e.printStackTrace();
}
Multiple declaraciones de excepciones: Es un alivio y genial. Seguro que les paso que hacian un try y tenian que capturar muchas excepciones, pero siempre hacian lo mismo; ahora ya no es necesario:
try {
…
} catch (Exception1 | Exception2 e) {
...
}
Estas son algunas de las nuevas características. Pinta lindo!