Eclipse 3.1 offre une prise en charge totale des nouvelles fonctionnalités de J2SE 5.0 (nom de code "Tigre"). 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 J2SE 1.4, y compris l'édition, la compilation, le débogage, les correctifs rapides, la propagation, les actions source, la recherche, et autres, fonctionne de manière transparente avec les nouveaux types et la syntaxe de J2SE 5.0. 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 J2SE 5.0.
Pour être en mesure de développer du code compatible avec J2SE 5.0, vous devez disposer d'un environnement d'exécution Java (JRE) de type J2SE 5.0. Si vous lancez Eclipse pour la première fois à l'aide de d'un JRE J2SE 5.0, il utilisera ce JRE par défaut. Dans le cas contraire, il vous faudra utiliser la boîte de dialogue JRE installés (Fenêtre > Préférences > Java > JRE installés) afin de l'enregistrer auprès d'Eclipse.
Le présent document présente de manière succincte certaines des nouvelles fonctionnalités de langage offertes par J2SE 5.0, mais ne constitue pas à proprement parler un tutoriel pour ces mêmes fonctionnalités.
Pour utiliser les nouvelles fonctionnalités J2SE 5.0, vous devez travailler sur un projet pour lequel le niveau de conformité 5.0 est activé. Les nouveaux projets peuvent aisément être définis comme compatibles 5.0 sur la première page de l'assistant Nouveau > Projet :
Pour garantir un contrôle plus précis, le niveau de conformité du compilateur peut être défini de manière globale pour un espace de travail (Windows > Préférences > Java > Compilateur) ou de manière individuelle pour chaque projet (à partir du menu contextuel du projet, sélectionnez Propriétés > Compilateur Java). Les projets dont les niveaux de conformité diffèrent peuvent co-exister dans l'espace de travail et sont inter-dépendants. Vous pouvez également définir précisément les types d'avertissements et d'erreurs de compilateur produits pour chaque projet à l'aide de Propriétés > Java Compiler > Erreurs/Avertissements > Options J2SE 5.0
Les types génériques permettent à des objets d'une même classe de fonctionner en toute sécurité sur des objets de différents types.
Ils autorisent, par exemple, l'assurance de génération qu'une Liste<Chaîne>
contient toujours des Chaînes
, et qu'une Liste<Entier>
contient toujours des Entier
.
Partout où Eclipse traire un type non générique, il peut traiter un type générique :
Eclipse 3.1 offre de nouvelles options lors de la recherche de références à des types génériques. Voici un exemple :
Liste<Entier>
et utiliser
Rechercher > Références > Projet
place les types de Listes en surbrillance sur les quatre lignes :
Filtrer incompatibles ne conserve que les références aux types dont l'affectation est compatible avec le type sélectionné :
Filtrer inexacts ne conserve que les références de type dont la signature est rigoureusement identique :
Les annotations joignent des méta-données portant sur la manière dont les types et les méthodes Java sont utilisés et documentés à destination de la source Java et peuvent dès lors avoir une incidence sur la compilation ou être interrogées lors de l'exécution. Par exemple, @Remplacer
déclenche un avertissement de compilateur si la méthode annotée ne remplace pas une méthode d'une super classe :
Une annotation vous permet de réaliser les mêmes opérations qu'un type Java :
@SuppressWarnings
est une annotation très pratique totalement prise en charge sous Eclipse.
Imaginez par exemple une méthode privée actuellement inutilisée, mais que vous ne souhaitez pas supprimer :
@SuppressWarnings
:
foo
:
Les énumérations sont des types instanciés lors de l'exécution par un ensemble connu et limité d'objets :
Là aussi, tout ce que vous pouvez faire à une classe Java peut être effectué sur une énumération :
L'autoboxing et l'unboxing automatique autorisent une syntaxe de qualité lorsque des types primitifs sont affectés à Références d'objets ou y sont récupérés :
Les fonctionnalités de manipulation de source d'Eclipse traitent l'autoboxing de manière transparente et fournissent les bons types aux nouvelles variables locales et aux assistants de code qui conviennent. Pour mieux comprendre le code, il est également possible d'ajouter un drapeau d'avertissement de compilateur aux instances d'autoboxing et d'unboxing (Fenêtre > Préférences > Java > Compilateur > Erreurs/Avertissements > Options J2SE 5.0 > Conversions boxing et unboxing ), ou encore les surligner à l'aide de la coloration syntaxique (Fenêtre > Préférences > Java > Editeur > Coloration syntaxique > Java > Expressions ayant subi un (un)boxing automatique) :
Afin de pouvoir fonctionner successivement sur chaque élément d'un tableau ou d'une collection (cas des plus courants), J2SE 5.0 permet le recours à une nouvelle syntaxe, que l'on pourrait qualifier de plus 'propre'. Eclipse 3.1 fournit un modèle de code "foreach" qui peut identifier automatiquement la collection à itérer :
Eclipse 3.1 fournit également un assistant rapide "Convertir en enhanced for loop" qui permet de mettre à niveau les bouclesfor
de type 1.4 chaque fois que cela est possible.
Toutes les autres fonctionnalités de J2SE 5.0 sont gérées avec une grande souplesse par les outils d'édition, de recherche et de manipulation de code d'Eclipse :