A partir do release 3.1, o Eclipse inclui suporte completo para os novos recursos do J2SE 5.0 (codename "Tiger"). Uma das conseqüências mais importantes desse suporte é que você pode não notá-lo de maneira nenhuma, tudo o que você espera que funcione para o J2SE 1.4, incluindo edição, compilação, depuração, correções rápidas, recriação, ações de origem, procura, etc., funcionará de maneira transparente com os novos tipos e sintaxe do J2SE 5.0. Neste documento, apresentaremos alguns dos recursos mais interessantes que os usuários do Eclipse encontrarão ao trabalhar com o J2SE 5.0.
Para desenvolver código compatível com o J2SE 5.0, será necessário um J2SE 5.0 JRE (Java Runtime Environment).
Se você iniciar o Eclipse pela primeira vez utilizando um J2SE 5.0 JRE, ele será utilizado por padrão.
Caso contrário, você precisará utilizar a página de preferências
Java > JREs Instalados
para registrá-lo no Eclipse.
Este documento apresenta de modo resumido alguns dos novos recursos de idioma no J2SE 5.0, mas não é um tutorial apropriado para esses recursos. Consulte aqui para obter informações adicionais.
Para utilizar os novos recursos do J2SE 5.0, você deve estar trabalhando em um projeto que tenha um nível de conformidade 5.0 ativado e tenha um JRE 5.0.
Os novos projetos obterão automaticamente a conformidade com 5.0 ao escolher um JRE 5.0 na primeira página do
Assistente de Novo Projeto Java:
Para um controle bem ajustado,
o nível de conformidade do compilador pode ser configurado globalmente para um espaço de trabalho
(com a página de preferências
Java > Compilador)
ou individualmente para cada projeto (no menu de contexto do projeto, escolha Propriedades > Compilador Java).
Projetos com níveis diferentes de conformidade podem coexistir no espaço de trabalho e depender um do outro.
Também é possível fazer um ajuste fino dos avisos e erros do compilador produzidos para cada projeto, utilizando Propriedades > Compilador Java > Erros/Avisos > Opções do J2SE 5.0
Tipos genéricos permitem que os objetos da mesma classe operem de maneira segura em objetos de diferentes tipos.
Por exemplo, eles permitem garantias de tempo de compilação de que um
List<String>
sempre contém String
s, e um List<Integer>
sempre contém Integer
s.
O Eclipse fornece novas opções ao procurar referências a tipos genéricos. Considere este exemplo:
List<Integer>
e o uso
de Procurar > Referências > Projeto
realçará os tipos de lista em todas as quatro linhas:
Incompatível com Filtro deixa apenas referências a tipos que são compatíveis por designação com o tipo selecionado:
Filtro Inexato deixa apenas as referências a tipos com a mesma assinatura exata:
Metadados de conexão de anotações sobre como tipos e métodos Java são utilizados e documentados para a origem Java e podem afetar a compilação ou ser consultados em tempo de execução.
Por exemplo, @Override
disparará um aviso do compilador se o método anotado não substituir um método em uma superclasse:
Uma anotação muito útil com suporte total no Eclipse é @SuppressWarnings
.
Por exemplo, considere um método privado que não é utilizado atualmente mas que você prefere não excluir:
@SuppressWarnings
:
foo
:
Enumerações são tipos que são instanciados em tempo de execução por um conjunto de objetos finito e conhecido:
Autoboxing e auto unboxing permitem sintaxe elegante quando tipos primitivos são designados ou recuperados de referências a Objetos:
Os recursos de manipulação da origem do Eclipse manipulam autoboxing de maneira transparente, fornecendo os tipos corretos para novas variáveis locais e assistentes de código corretos.
Para entendimento do código, também é possível sinalizar instâncias de
conversões de autoboxing ou autounboxing como avisos de compilação
(utilizando a seção Potenciais Problemas de Programação da página de preferências
Java > Compilador > Erros/Avisos)
ou realçá-las utilizando a coloração da sintaxe
(por meio da seção
Java > Expressões de Auto(un)boxed da página de preferências
Java > Editor > Coloração da Sintaxe):
Para o caso comum de operação em cada elemento de uma matriz ou coleta em turno, o J2SE 5.0 permite uma nova sintaxe de limpeza. O Eclipse fornece o modelo do código "foreach" que pode descobrir automaticamente a coleta a ser iterada:
O Eclipse também fornece um assistente rápido "Converter para Loop for Aperfeiçoado" para
fazer upgrade de loops for
de estilo 1.4, onde possível.