Método de campo getAnnotatedType() en Java con ejemplos

El método getAnnotatedType() de java.lang.reflect.Field se usa para devolver un objeto AnnonatedType que representa el uso de un tipo para especificar el tipo declarado del campo. Cada campo de la clase se declara mediante algún AnnotatedType.AnnotatedType representa el uso potencialmente anotado de cualquier tipo, incluido un tipo de array, un tipo parametrizado, una variable de tipo o un tipo de comodín que se ejecuta actualmente en Java Virtual Machine. La instancia de AnnotatedType devuelta puede ser una implementación del propio AnnotatedType o una implementación de una de sus subinterfaces: AnnotatedArrayType, AnnotatedParameterizedType, AnnotatedTypeVariable, AnnotatedWildcardType.

 Sintaxis:

public AnnotatedType getAnnotatedType()

Parámetros: Este método no acepta nada. Retorno : este método devuelve un objeto que representa el tipo declarado del campo representado por este campo. Los siguientes programas ilustran el método getAnnotatedType():

 Programa 1: 

Java

// Java program to illustrate
// getAnnotatedType() method
 
import java.lang.reflect.AnnotatedType;
import java.lang.reflect.Field;
import java.util.Arrays;
 
public class GFG {
 
    private int number;
 
    public static void main(String[] args)
        throws NoSuchFieldException
    {
 
        // get Field object
        Field field
            = GFG.class
                  .getDeclaredField("number");
 
        // apply getAnnotatedType() method
        AnnotatedType annotatedType
            = field.getAnnotatedType();
 
        // print the results
        System.out.println(
            "Type: "
            + annotatedType
                  .getType()
                  .getTypeName());
        System.out.println(
            "Annotations: "
            + Arrays
                  .toString(
                      annotatedType
                          .getAnnotations()));
    }
}
Producción:

Type: int
Annotations: []

Programa 2: 

Java

// Java Program to illustrate
// getAnnotatedType() method
 
import java.lang.annotation.*;
import java.lang.reflect.*;
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 getAnnotatedType() method
        AnnotatedType annotatedType
            = field.getAnnotatedType();
 
        // 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 {
    }
}
Producción:

Type: int[]
Annotations: [@GFG$SpecialNumber()]
Declared Annotations: [@GFG$SpecialNumber()]

Referencias: https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Field.html#getAnnotatedType–

Publicación traducida automáticamente

Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *