16. Énumérations et annotations en Java
Lorsque vous apprenez à programmer en Java, il est essentiel de comprendre l'utilisation des énumérations et des annotations, car ce sont des fonctionnalités puissantes qui peuvent rendre votre code plus organisé, plus lisible et moins sujet aux erreurs. Dans cette section, nous verrons ce que sont les énumérations et les annotations, comment et quand les utiliser dans le développement de logiciels Java.
Énumérations
En Java, une énumération est un type spécial de classe qui représente un groupe de constantes (variables immuables, telles que les variables finales). Les énumérations sont utilisées lorsque vous avez des valeurs dont vous savez qu'elles ne changeront pas, comme les jours de la semaine, les couleurs, les directions, etc.
Jour d'énumération publique {
DIMANCHE LUNDI MARDI MERCREDI,
JEUDI VENDREDI SAMEDI
}
Vous pouvez utiliser des énumérations pour suivre un ensemble de valeurs fixes et éviter les erreurs de frappe qui peuvent survenir lors de l'utilisation de chaînes ou d'entiers pour représenter ces valeurs fixes.
Constructeurs, méthodes et variables dans les énumérations
Les énumérations en Java peuvent avoir des constructeurs, des méthodes et des variables d'instance. Cela vous permet d'associer des données et des comportements supplémentaires à vos énumérations.
couleur publique enum {
ROUGE("#FF0000"), VERT("#00FF00"), BLEU("#0000FF");
Code de chaîne final privé ;
Couleur (code de chaîne) {
ceci.code = code ;
}
chaîne publique getCode() {
Code de retour;
}
}
Dans l'exemple ci-dessus, chaque énumération de couleur est associée à un code couleur. Vous pouvez accéder à ce code en appelant la méthode getCode()
.
Méthodes utiles dans les énumérations
Java fournit quelques méthodes utiles que vous pouvez utiliser avec les énumérations :
values()
: renvoie un tableau contenant toutes les valeurs de l'énumération dans l'ordre dans lequel elles sont déclarées.valueOf(String name)
: renvoie la valeur de l'énumération avec le nom spécifié.ordinal()
: renvoie la position de l'énumération dans la déclaration (en commençant à zéro).
Remarques
Les annotations en Java sont utilisées pour fournir des informations supplémentaires au compilateur ou aux outils de développement. Ils n'ont aucun effet direct sur le fonctionnement du code qu'ils annotent.
Notes intégrées
Java est livré avec des annotations intégrées que vous pouvez utiliser dans votre code :
@Override
: indique qu'une méthode remplace une méthode de superclasse.@Deprecated
: indique qu'une méthode ou une classe ne doit plus être utilisée.@SuppressWarnings
: demande au compilateur d'ignorer les avertissements spécifiques.@SafeVarargs
: supprime les avertissements liés à l'utilisation de varargs avec des types génériques.@FunctionalInterface
: indique que l'interface est destinée à être une interface fonctionnelle.
Définir des annotations personnalisées
Vous pouvez également créer vos propres annotations en Java. Cela se fait à l'aide du mot-clé @interface
. Les annotations personnalisées peuvent comporter des éléments qui peuvent être configurés lorsque l'annotation est appliquée.
importer java.lang.annotation.*;
@Rétention(RetentionPolicy.RUNTIME)
@Target (ElementType.METHOD)
public @interface À faire {
Priorité d'énumération publique {FAIBLE, MOYENNE, ÉLEVÉE}
Statut de l'énumération publique {STARTED, NOT_STARTED}
String author() par défaut "Yash" ;
Priorité priorité() par défaut Priorité.LOW ;
Status status() par défaut Status.NOT_STARTED ;
}
Dans l'exemple ci-dessus, l'annotation @Todo
peut être utilisée pour marquer les méthodes qui nécessitent plus de travail. Il comporte trois éléments : author
, priority
et status
, chacun avec une valeur par défaut.
Utiliser les annotations
Vous appliquez des annotations aux déclarations telles que les classes, les méthodes ou les variables. Les annotations sont accessibles au moment de l'exécution à l'aide de la réflexion, ce qui vous permet d'écrire du code qui se comporte différemment en fonction des annotations présentes.
Exemple de classe publique {
@Todo (priority = Todo.Priority.HIGH, author = "Carlos", status = Todo.Status.STARTED)
public void incompleteMethod() {
// code qui n'est pas encore terminé
}
}
Dans l'exemple ci-dessus, la méthode incompleteMethod
est marquée de l'annotation @Todo
, indiquant que la méthode est une tâche en cours, avec une priorité élevée et un auteur spécifique.
Traitement des annotations
Les annotations peuvent être traitées au moment de la compilation ou au moment de l'exécution. Au moment de la compilation, les annotations peuvent être traitées par des outils de génération de code ou des analyseurs statiques. Au moment de l'exécution, les annotations peuvent être traitées par réflexion, permettant au code d'inspecter ses propres annotations.
Conclusion
Les énumérations et les annotations sont des fonctionnalités avancées de Java qui offrent des moyens puissants d'exprimer une intention.clarifiez et contrôlez le comportement de votre code. Les énumérations vous aident à gérer des ensembles fixes de constantes de manière sécurisée, tandis que les annotations vous permettent de fournir des métadonnées supplémentaires pour votre code qui peuvent être utilisées par le compilateur ou les outils de développement. Comprendre ces concepts est essentiel pour tout programmeur Java qui souhaite écrire du code propre, maintenable et robuste.