sábado, 16 de julio de 2011

Java 7


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.

List colores = 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!