El método getAnnotation() de java.lang.reflect.Field se utiliza para devolver los objetos de campo para el tipo especificado si dicha anotación está presente, de lo contrario, es nulo. Este es un método importante para obtener la anotación para el objeto de campo.
Sintaxis:
public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
Parámetros: este método annotationClass , que es el objeto de clase correspondiente al tipo de anotación.
Retorno : este método devuelve la anotación de este elemento para el tipo de anotación especificado si está presente en este elemento, de lo contrario, es nulo.
Excepción : este método lanza NullPointerException si la clase de anotación dada es nula.
Los siguientes programas ilustran el método getAnnotation():
Programa 1:
// Java program to illustrate // getAnnotation() method import java.lang.annotation.*; import java.lang.reflect.AnnotatedType; import java.lang.reflect.Field; import java.util.Arrays; public class GFG { // initialize field with // default value in annotation @annotations(3125462345.32155365326) private double realNumbers; public static void main(String[] args) throws NoSuchFieldException { // create Field object Field field = GFG.class .getDeclaredField("realNumbers"); // apply getAnnotation() annotations annotations = field.getAnnotation( annotations.class); // print results System.out.println(annotations); } @Target({ ElementType.FIELD }) @Retention(RetentionPolicy.RUNTIME) private @interface annotations { double value() default 99.9; } }
@GFG$annotations(value=3.1254623453215537E9)
Programa 2:
// Java program to illustrate // getAnnotation() method import java.lang.annotation.*; import java.lang.reflect.AnnotatedType; import java.lang.reflect.Field; import java.util.Arrays; public class GFG { private int @SpecialNumber[] number; public static void main(String[] args) throws NoSuchFieldException { // get Field object Field field = GFG.class .getDeclaredField("number"); // apply getAnnotation() method AnnotatedType annotatedType = field.getAnnotation(); // print the results System.out.println( "Type: " + annotatedType.getType() .getTypeName()); System.out.println( "Annotations: " + Arrays.toString( annotatedType .getAnnotations())); System.out.println( "Declared Annotations: " + Arrays.toString( annotatedType .getDeclaredAnnotations())); } @Target({ ElementType.TYPE_USE }) @Retention(RetentionPolicy.RUNTIME) private @interface SpecialNumber { } }
@GFG$annotations(value=WelcomeTOGFG)
Referencias: https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Field.html#getAnnotation–
Publicación traducida automáticamente
Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA