Sun Campus Ambassador
Daniel Campos

Saturday Aug 22, 2009

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:

Comments:

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 #

Post a Comment:
  • HTML Syntax: NOT allowed