Guide d'annotation personnalisée Créez des annotations personnalisées en Java à l'aide du mot-clé @interface. Utilisez des annotations personnalisées pour spécifier la durée de conservation et l'emplacement d'application de l'annotation via @Retention et @Target. Utilisez la réflexion pour récupérer la valeur d'annotation, obtenez l'annotation du champ via getDeclaredField et obtenez l'objet d'annotation à l'aide de la méthode getAnnotation. En pratique, les annotations personnalisées peuvent être utilisées pour marquer les méthodes qui nécessitent une journalisation, et les annotations peuvent être vérifiées au moment de l'exécution par réflexion.
Appliquer des annotations personnalisées dans le code Java
Introduction
Les annotations personnalisées sont un outil puissant pour ajouter des métadonnées dans le code Java. Ils vous permettent d'ajouter des informations supplémentaires à différentes parties de votre programme pour un traitement ou une analyse ultérieure. Cet article vous expliquera comment créer, utiliser et traiter des annotations personnalisées dans le code Java.
Créer des annotations personnalisées
Pour créer des annotations personnalisées, vous devez utiliser le mot-clé @interface
. Voici un exemple de création d'une annotation personnalisée nommée @MyAnnotation
: @interface
关键字。以下是一个创建名为 @MyAnnotation
的自定义注解的示例:
import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface MyAnnotation { String value() default "default"; }
@Retention(RetentionPolicy.RUNTIME)
:指定注解在运行时可用。这意味着注解可以在反射中访问。@Target(ElementType.FIELD)
:指定注解只能应用于字段。使用自定义注解
要使用自定义注解,请在您要附加元数据的字段上添加它。以下是如何使用 @MyAnnotation
public class MyClass { @MyAnnotation("custom value") private String myField; }
@Retention(RetentionPolicy.RUNTIME)
: Spécifie l'annotation au moment de l'exécution Disponible. Cela signifie que l'annotation est accessible en réflexion. @Target(ElementType.FIELD)
: Spécifie que l'annotation ne peut être appliquée qu'aux champs. Utilisation d'annotations personnalisées
Pour utiliser une annotation personnalisée, ajoutez-la dans le champ auquel vous souhaitez ajouter des métadonnées. Voici comment utiliser le champ d'annotation@MyAnnotation
: Class myClass = MyClass.class; Field myField = myClass.getDeclaredField("myField"); MyAnnotation annotation = myField.getAnnotation(MyAnnotation.class); String value = annotation.value(); System.out.println(value); // 输出:"custom value"
Gestion des annotations personnalisées
Vous pouvez utiliser la réflexion pour gérer les annotations personnalisées. Voici comment récupérer des valeurs d'annotation :@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface Loggable { }
Un cas pratique
Ce qui suit est un cas pratique montrant comment utiliser des annotations personnalisées pour marquer les méthodes qui nécessitent une journalisation :Créer des annotations personnalisées
public class MyClass { @Loggable public void myMethod() { // ... } }Appliquer des annotations et extension des annotations
import java.lang.reflect.Method; public class AnnotationProcessor { public static void main(String[] args) throws Exception { Class myClass = MyClass.class; Method myMethod = myClass.getDeclaredMethod("myMethod"); Loggable annotation = myMethod.getAnnotation(Loggable.class); if (annotation != null) { System.out.println("Method is annotated with @Loggable"); } } }🎜Traitement des annotations🎜🎜
Method is annotated with @Loggable🎜Lors de son exécution, le programme imprime le résultat suivant : 🎜rrreee
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!