domenica 11 settembre 2011

Java 7 esempi di utilizzo nuove feature


Per utilizzare Java 7 conviene scaricarsi NetBeans 7, che al momento garantisce una integrazione perfetta con la jdk 7.
Con Eclipse Indigo, pur avendo incluso nel classpath le librerie di Java 7 , non sono riuscito a  compilare con livello di compliance java 7; cercando su Internet ho visto che bisogna installare delle patch, quindi per adesso conviene aspettare una release nuova del software con la Java 7 integrata.

Di seguito un paio di esempi di codice “nuovo” con Java 7 (mano a mano che approfondirò posterò gli altri)

Map<String,List<String>> mappa=new HashMap<>();
List<String> lista=new ArrayList<>();
lista.add("uno");
lista.add("due");
mappa.put("test", lista);

Come possiamo vedere nella new non è più necessario specificare di nuovo i tipi.

Un'altra caratteristica interessante è questa: dato un codice che, a seconda della logica applicativa effettua la throw di eccezioni diverse, è possibile avere un unico catch per più eccezioni.
L'unico requisito è che le eccezioni, anche se sono di tipo unchecked, siano esplicitamente lanciate dal codice.

Esempio

private void testException(int v){
try
{
if(v==1) throw new IllegalArgumentException("eccezione 1");
else throw new ArithmeticException("eccezione 2");
}
catch(IllegalArgumentException | ArithmeticException ex){
ex.printStackTrace();
throw ex;
}
}

Qui a seconda del parametro inserito verrà effettuata la throw di una IllegalArgumentException oppure di una ArithmeticException. Se nel try non si effettua alcuna throw il codice però non compila.


Nessun commento:

Posta un commento