Java 7 na prática
Dada umpouco da explicação do java 7, será mostrado agora as novas funcionalidades,até o momento a única IDE que está dando suporte é o netbeans 7, para isso énecessário baixar tanto o jdk ambos os links estão em referências no final doartigo. Após ter baixado basta descompactar o novo java e instalar a ide, tãologo feito isso no netbeans vá em ferramentas/ plataforma java e adicione umanova plataforma e selecione java Standart Edition, avance em seguida informe odiretório aonde está o java 7 já descompactado. Assim será criado um projeto javanormalmente a única diferença é que apóscriado se irá nas propriedades do projeto e será selecionado o jdk 1.7, que é ojava 7.

figura :adicionado o JSE e selecionando o seu caminho

figura :Configurando o projeto para usar o java 7
Com primeiro exemplo será mostrado aswitch com Strings antes esse recurso era possível apenas com variáveis do tipoEnum e inteiros, na verdade o que ele faz basicamente não deixa de ser uminteiro já que ele faz seleção a partir do hascode. A listagem 1 mostra umpequeno exemplo dessa utilização.
String bebida="cafe";
switch (bebida){
case "cafe":
System.out.println("Vai precisar de leite");
break;
case "suco":
System.out.println("Vai precisar de acucar");
break;
case "refrigerante":
System.out.println("Vai precisar de gelo");
break;
default:
System.out.println("Bebida desconhecida");
break;
}
Agoraserá mostrado o ARM, Automatic Resource Managementou gerenciamento de recursos automático emportuguês, que consiste em não precisar se preocupar com os recursosque serão utilizados em seu programa os fechando os mesmos assim que sair dobloco try para isso basta que o Objetoimplemente o java.lang.AutoCloseable, que representa praticamente toda Api quepossui o método close(). A interfaceCloseable estende AutoCloseable, sendo mais interessante o AutoCloseable poisao executar o método close() não executaria nenhuma exceção. Na listagem 2 demonstra a transferência entrearquivos e não foi necessário fechar o arquivo.
public void copiarArquivo(File original, File copiado) throws
FileNotFoundException, IOException {
try (
InputStream in = new FileInputStream(original);
OutputStream out = new FileOutputStream(copiado)) {
byte[] buf = new byte[1024];
int n;
while ((n = in.read(buf)) >= 0) {
out.write(buf, 0, n);
}
}//sera fechado automaticamente apos operacao
}
O multi-try para alguns foi o recurso mais esperado dessa novaversão, que permite que se trate várias exceções de um bloco try em um únicocath basta apenas separar as exceções por um '|' pipe. Na versão atual énecessário que você acabe colocando um cath em baixo do outro o que em algunscaso se torna totalmente indispensável além de deixar o código duplicado.
ExemploARM arm=new ExemploARM();
try {
arm.copiarArquivo(origem, destino);
} catch (FileNotFoundException | IOException ex) {
ex.printStackTrace();
System.out.println("Não foi possível copiar arquivos");
}
Veja na próxima e última parte um exemplo de Generics.