Uma das novidades é possibilidade de usar a keyword switch com Strings.
String animal = …;
if (animal.equals(“dog”)) {
takeForWalk(animal);
} else if (animal.equals(“cat”)) {
leaveMilkFor(animal);
} else if (animal.equals(“mouse”)) {
cleanCageFor(animal);
} else {
leaveOutside(animal);
}
Ficando assim:
String animal = …;
switch(animal) {
case “dog” : takeForWalk(animal);
case “cat” : leaveMilkFor(animal);
case “mouse” : cleanCageFor(animal);
default : leaveOutside(animal);
}
Outra novidade é a possibilidade de utilizar um bloco catch para tratar mais de uma exceção:
try{
doWork(file);
} catch(IOException ioe) {
logger.log(ioe);
throw ioe;
} catch (SQLException sqle) {
logger.log(sqle);
throw sqle;
}
Ficando assim:
try {
doWork(file);
} catch (final IOException | SQLException ex) {
logger.log(ex); throw ex;
}
Mais uma novidade interessante, é possibilidade de verificar se um objeto é null e atribuir valores de acordo com o que o desenvolvedor necessita em apenas uma linha:
Object anObject;
...
if (anObject == null) {
s = “nothing”;
} else {
s = anObject.toString();
}
int i;
…
if (anInteger == null) {
i = -1;
} else {
i = anInteger;
}
Ficando assim:
String s = anObject?.toString() ?: “nothing”;
int i = anInteger ?: -1;
Se o objeto anInteger for null, a variável i receberá -1.
Além de novas API's. Para ver mais novidades que o JDK 7 tras, assista o vídeo abaixo:
My name is Daniel Campos and i'm brazilian. I work at Sun Microsystems as Campus Ambassador and this is my blog that talks about issues related to technology. Welcome!
Cara, estou a testar estas novidades com a JDK 7 e o NetBeans 6.7.
Mas não estou conseguindo encontrar estas novidades, implementando-as no
meu código.
Nas configurações do meu projeto já esta tudo setado para a JDK 7, mas de nada
adianta.
A versão que baixei da JDK é a preview, será que estas novidades ainda não
foram distribuidas com esta versão.
Posted by Cleylson Souza on September 01, 2009 at 10:31 AM BRT #