Desde a edição 3.1, o Eclipse inclui suporte total para as novas funções do J2SE 5.0 (nome de código "Tiger"). Uma das consequências mais importantes deste suporte é que poderá nem sequer reparar em nada--tudo o que espera que funcione no J2SE 1.4, incluindo edição, compilação, depuração, ajustes rápidos, refactorizações, acções de origem, pesquisas, etc., vai funcionar da mesma forma com os novos tipos e sintaxe do J2SE 5.0. Neste documento, vamos introduzir algumas das capacidades mais interessantes que os utilizadores do Eclipse vão encontrar ao trabalhar com o J2SE 5.0.
Para programar código em conformidade com o J2SE 5.0, vai precisar de um J2SE 5.0 Java Runtime Environment (JRE).
Se iniciar o Eclipse pela primeira vez através da utilização de um J2SE 5.0 JRE, então irá utilizá-lo por predefinição.
Caso contrário, será necessário utilizar a página de preferências
Java > JREs Instalados
para registá-lo com o Eclipse.
Este documento introduz, de modo sucinto, algumas das novas funções de linguagem no J2SE 5.0, mas não é o guia de iniciação indicado para estas funções. Consulte here para obter mais informações.
Para utilizar as novas funções do J2SE 5.0, o seu projecto tem de ter um nível de conformidade 5.0 activado e um JRE 5.0.
Os novos projectos adquirem automaticamente conformidade com o 5.0 sempre que é escolhido um JRE 5.0 na primeira página do
Assistente Novo Projecto Java:
Para um controlo mais ajustado,
o nível de conformidade do compilador pode ser definido globalmente para um espaço de trabalho
(com a página de preferências
Java > Compilador)
ou, individualmente, para cada projecto (a partir do menu contextual do projecto, escolha Propriedades > Compilador Java).
Os projectos com níveis de conformidade diferentes podem coexistir no espaço de trabalho e são dependentes entre si.
Também pode ajustar os tipos de avisos e erros do compilador produzidos para
cada projecto, através da utilização de Propriedades > Compilador Java > Erros/Avisos > Opções do J2SE 5.0
Os tipos genéricos permitem que objectos da mesma classe funcionem de forma segura em objectos de tipos diferentes.
Por exemplo, permitem que seja assegurado que
List<String>
contenha sempre String
s, e uma List<Integer>
contenha sempre Integer
s.
O Eclipse fornece novas opções sempre que pesquisa referências a tipos genéricos. Considere este exemplo:
List<Integer>
e utilizar Pesquisar > Referências > Projecto vai destacar os tipos List em todas as quatro linhas:
Filtro Incompatível deixa apenas referências a tipos que são compatíveis com atribuição com o tipo seleccionado:
Filtro Inexacto deixa apenas as referências de tipo com a mesma assinatura:
As anotações anexam metadados sobre a forma como os tipos e métodos Java são utilizados e documentados na origem Java e depois podem afectar a compilação ou ser consultados no tempo de execução.
Por exemplo, @Override
vai activar um aviso de compilador se o método anotado não sobrepuser um método numa superclasse:
Uma anotação muito útil com suporte integral no Eclipse é @SuppressWarnings
.
Por exemplo, considere um método privado que não esteja actualmente a ser utilizado, mas que prefere não eliminar:
@SuppressWarnings
:
foo
:
As enumerações são tipos que são instanciados no tempo de execução através de um conjunto conhecido e finito de objectos:
O auto-encaixe ou o auto-desencaixe permite uma sintaxe elegante quando os tipos primitivos são atribuídos ou obtidos das referências de Objecto:
As funções de manipulação da origem do Eclipse processam o auto-encaixe de forma semelhante, atribuindo os tipos correctos a novas variáveis locais e a assistências de código correctas.
Para compreensão do código, também é possível sinalizar instâncias de conversões de
auto-encaixe ou auto-desencaixe como avisos de compilação
(utilizando a secção Potenciais Problemas de Programação da página de preferências
Java > Compilador > Erros/Avisos),
ou destacá-las, utilizando a coloração de sintaxe
(através da secção
Java > Expressões de auto-(des)encaixe da página de preferências
Java > Editor > Coloração de Sintaxe):
Num caso comum de funcionamento em cada elemento de uma matriz ou recolha à vez, o J2SE 5.0 permite uma sintaxe nova e mais clara. O Eclipse fornece um modelo de código "foreach" que adivinha automaticamente a colecção a ser iterada:
O Eclipse fornece também uma assistência rápida "Converter para ciclo melhorado for" para
actualizar os ciclos de estilo 1.4 for
nos casos em que é possível.