Poco a poco nuestras aplicaciones van evolucionando de versión de Java y mas pronto que tarde nos encontraremos utilizando un JDK 7 en los nuevos desarrollos . Java 7 incluye muchas novedades vamos a revisar algunas que me han parecido interesantes y que muchas veces nos olvidamos de ellas.
Captura de excepciones
A partir de ahora podemos capturar varias excepciones utilizando el mismo bloque catch sin tener que recurrir a utilizar excepciones que se encuentran en jerarquias superiores obteniendo de esta forma un control mas fino.
package com.arquitecturajava;
import java.util.InputMismatchException;
import java.util.Scanner;
public class PrincipalExcepciones {
public static void main(String[] args) {
System.out.print("Introduce un número ");
try {
Scanner scanner = new Scanner(System.in);
int numero = scanner.nextInt();
if (numero < 0) {
throw new ExcepcionDeParametro();
}
System.out.println("El numero es :" + numero);
} catch (InputMismatchException | ExcepcionDeParametro e) {
System.out.println("ha ocurrido un error");
}
}
}
Operador diamante
Otra de las mejoras que dispone Java7 es del tema de los Genéricos que nos aporta un operador nuevo que nos permite simplificar la forma en la que definimos estos tipos. Habitualmente la declaración de un tipo genérico es la siguiente en Java 6.
package com.arquitecturajava;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class PrincipalGenericos {
public static void main(String[] args) {
List lista= new ArrayList();
lista.add("hola");
Map<String,List> mapa= new HashMap <String,List>();
mapa.put("mensaje", lista);
}
}
En Java 7 podemos simplificar y utilizar el operador <> denominado operador “diamante” para clarificar la declaración de tipos y no tener tanta información repetida.
package com.arquitecturajava;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class PrincipalGenericosJava7 {
public static void main(String[] args) {
List<String> lista= new ArrayList<>();
lista.add("hola");
Map<String,List<String>> mapa= new HashMap <>();
mapa.put("mensaje", lista);
}
}