Desde a edição 3.1, o Eclipse inclui suporte completo para as novas funções de linguagem de Java do J2SE 5.0. 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.
De forma a programar códigos compatíveis com o J2SE 5.0, precisará do J2SE 5.0 ou do J2SE 6.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 sintonizar os tipos de avisos e erros de compilador produzidos em cada projecto, utilizando Propriedades > Compilador Java> Erros/Avisos. A secção Tipos genéricos e a secção Anotações contêm opções adicionais para o 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 Strings, e uma List<Integer> contenha sempre Integers.

O Eclipse fornece novas opções sempre que pesquisa referências a tipos genéricos. Considere este exemplo:

Lista<Número inteiro> e a utilização de Pesquisa > Referências > Projecto do menu contextual irá destacar os tipos de Lista em todas as quatro linhas:

Filtrar Argumentos de tipo incompatível deixa somente referÊncias a tipos que sejam de contribuição compatível com o tipo seleccionado:
Filtrar Argumentos de tipo inexacto deixa somente referências de tipo com a mesma assinatura exacta:

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 encaixe automático ou de conversões de desencaixe automático:
Java > Compilador > Erros/Avisos 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.
As importações estáticas permitem utilizar campos e métodos estáticos provenientes de outras classes sem qualificação.
A assistência a conteúdos no editor Java pode sugerir tais membros estáticos e adiciona uma importação estática quando necessário. Para ter tais propostas, configure os favoritos de importação estática na página de preferências
Java > Editor > Assistência a conteúdos > Favoritos.
@Override e @Deprecated em faltafor para melhorados