Depuis l'édition 3.7.1, Eclipse offre une prise en charge totale des nouvelles fonctions de langage Java de Java SE 7. L'une des conséquences les plus notables de cette prise en charge est que vous êtes susceptible de ne même pas la remarquer : tout ce qui à vos yeux doit fonctionner pour Java 6 (édition, compilation, débogage, correctifs rapides, propagation, actions source, recherche, etc.) fonctionne de manière transparente avec la nouvelle syntaxe de Java 7. Dans ce document, nous allons vous présenter certaines des fonctionnalités les plus intéressantes dont les utilisateurs d'Eclipse vont pouvoir bénéficier en utilisant Java 7.
Remarquez que les deux numéros de version '1.7' et '7' sont utilisés pour identifier la publication de l'édition standard de la plateforme Java. La version '7' est la version produit tandis que la version '1.7' est la version développeur et est également utilisée pour le niveau de conformité du compilateur.
Pour être en mesure de développer du code compatible avec Java 7, vous devez disposer d'un environnement d'exécution Java (JRE) de type Java 7.
Si vous lancez Eclipse pour la première fois à l'aide d'un environnement d'exécution Java 7, il utilisera cet environnement d'exécution Java par défaut.
Dans le cas contraire, il vous faudra utiliser la page de préférences
Java > Environnements d'exécution Java installés
afin de l'enregistrer avec Eclipse.
Vous pouvez également configurer un environnement d'exécution Java 7 via la page de préférences
Java > JRE installés > Environnements d'exécution :

Pour convertir un projet Java existant en Java 7, ouvrez la boîte de dialogue Propriétés de la Bibliothèque système JRE et choisissez l'environnement d'exécution : JavaSE-1.7.

La description de l'API de l'environnement d'exécution pour Java 7 est disponible sur le site de mise à jour correspondant. Une fois qu'il est installé, vous pouvez détecter les références non valides aux bibliothèques système de Java 7 :

Java 7 est livré avec une série d'améliorations mineures (appelées Project Coin) du langage Java, un nouveau bytecode permettant d'appeler les méthodes de façon dynamique et de nombreux ajouts aux bibliothèques. Le présent document présente brièvement certaines des nouvelles fonctions de langage offertes par Java 7, mais ne constitue pas à proprement parler un tutoriel pour ces fonctions. Pour plus d'informations, cliquez ici.
try-with-resourcesCette modification de langage permet d'omettre dans plusieurs situations l'utilisation d'arguments de type explicites avec les constructeurs de classes paramétrées. Le compilateur déduit les arguments de type omis à partir du type attendu.
Lorsque cela est possible, l'assistant de contenu pour les appels de constructeur insère un losange à la place d'arguments de type explicites.


Le compilateur peut également détecter la spécification redondante d'arguments de type que vous pouvez retirer via le correctif rapide Supprimer les arguments de type.

Cette option est désactivée par défaut, mais peut être activée sur la page de préférences
Java > Compilateur > Erreurs/Avertissements :

En outre, vous pouvez également insérer des arguments de type déduit d'un losange via un assistant rapide.

Suggestion : cette procédure fonctionne également sous forme de correctif rapide dans le code 1.5 et 1.6, où le losange est une erreur de syntaxe.
Dans Java 7, vous pouvez intercepter plusieurs types d'exception à l'aide d'un bloc catch unique.
Vous pouvez utiliser l'option Marquer les occurrences dans l'éditeur Java pour mettre en évidence des instructions qui émettent une exception particulière.

L'action Source > Entourer d'un bloc try/multi-catch permet de placer les instructions sélectionnées dans un bloc try/multi-catch. Elle est également disponible sous forme de correctif rapide Entourer d'un bloc try/multi-catch si plusieurs exceptions n'ont pas été interceptées.

Le correctif rapide Ajouter des exceptions à la clause catch existante permet d'ajouter des exceptions non interceptées à une clause catch existante.

L'assistant rapide Utiliser des blocs catch séparés permet de remplacer une clause multi-catch par des blocs catch individuels pour chaque exception figurant dans la clause multi-catch.

L'assistant rapide Déplacer les exceptions vers le bloc catch séparé permet de choisir une ou plusieurs exceptions sélectionnées dans une clause multi-catch.

L'assistant rapide Combiner des blocs catch permet de combiner des blocs catch distincts dans un bloc multi-catch unique. Il n'est disponible que lorsque les corps de tous les blocs catch sont identiques.

Le compilateur signale une erreur si une exception figurant dans une clause multi-catch a déjà été interceptée par une autre exception. Le correctif rapide Supprimer l'exception permet de supprimer cette exception.

En outre, il existe des options de retour à la ligne dans le programme de formatage pour la syntaxe multi-catch.
Elles peuvent être configurées dans la page de préférences
Java > Style de code > Programme de formatage sous
Retour à la ligne > Instructions > 'multi-catch'.
L'instruction try-with-resources garantit que chaque ressource - a java.lang.AutoCloseable - est fermée à la fin de la déclaration.
L'option Marquer les occurrences de l'éditeur Java comprend la syntaxe try-with-resources.
L'accolade fermante '}' d'une instruction try-with-resources est marquée en tant que point de sortie de méthode si l'appel implicite de close() émet une exception. La variable de ressource correspondante est également mise en évidence.

Le compilateur détecte les exceptions non gérées émises par l'appel automatique de close() pour une ressource.

Le compilateur peut suggérer d'utiliser l'instruction try-with-resources si les ressources ont été explicitement fermées, mais qu'elles n'ont pas été déclarées dans des instructions try-with-resources.

Cette option est désactivée par défaut, mais peut être activée sur la page de préférences
Java > Compilateur > Erreurs/Avertissements :

En outre, il existe des options de retour à la ligne et d'espace dans le programme de formatage pour la syntaxe try-with-resources.
Elles peuvent être configurées dans la page de préférences
Java > Style de code > Programme de formatage sous
Retour à la ligne > Instructions > 'try-with-resources' et Espace > Instructions de contrôle > 'try-with-resources'.
Le compilateur Java 7 génère un avertissement sur le site de déclaration d'une méthode ou d'un constructeur Varargs avec un paramètre formel Varargs non-réifiable. Cet avertissement peut être supprimé à l'aide de l'annotation @SafeVarargs.
Le correctif rapide Ajouter @SafeVarargs peut être utilisé en cas d'avertissements relatifs à la pollution de segment de mémoire potentielle dans les déclarations de méthode.

Le correctif rapide est également disponible à partir des sites d'appels.

Le correctif rapide Supprimer @SafeVarargs peut être utilisé en cas d'utilisation incorrecte de l'annotation @SafeVarargs.


Vous pouvez utiliser un objet de chaîne dans l'expression d'une instruction switch.
L'assistant rapide Convertir 'switch' en 'if-else' fonctionne avec les chaînes dans switch.

Il évite l'exception de pointeur nul (NullPointerException) dans le code résultant.
/Dans Java 7, les littéraux de type intégral (byte, short, int et long) peuvent également être exprimés à l'aide du système de nombre binaire. En outre, n'importe quel nombre de caractères de soulignement (_) peut apparaître n'importe où entre des chiffres dans un littéral numérique.
La fonction de changement de valeur d'une variable au cours du débogage prend en charge les traits de soulignement dans les littéraux numériques et les littéraux binaires :

Les infobulles Javadoc des références aux méthodes polymorphiques affichent la signature de méthode utilisée.
