Método constructor getParameterAnnotations() en Java con ejemplos

El método getParameterAnnotations() de una clase Constructor se usa para obtener una array de anotaciones bidimensional que representa las anotaciones en los parámetros formales de este Constructor. Si el Constructor no contiene parámetros, se devolverá una array vacía. Si el constructor contiene uno o más parámetros, se devolverá una array de anotación de dos dimensiones. Una array anidada de esta array de dos dimensiones estará vacía para el parámetro sin anotaciones. Los objetos de anotación devueltos por este método son serializables. La array de arrays devuelta por este método se puede modificar fácilmente.

Sintaxis:

public Annotation[][] getParameterAnnotations()

Parámetros: Este método no acepta nada.

Valor devuelto: Este método devuelve una array de arrays que representan las anotaciones en los parámetros formales e implícitos, en orden de declaración, del ejecutable representado por este objeto.

Los siguientes programas ilustran el método getParameterAnnotations():
Programa 1:

// Java program to demonstrate
// Constructor.getParameterAnnotations() method
  
import java.lang.annotation.Annotation;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Constructor;
import java.util.Arrays;
  
public class GFG {
  
    public static void main(String... args)
        throws NoSuchMethodException
    {
  
        // Create Constructor Object
        Constructor[] constructors
            = Test.class.getConstructors();
  
        // get Annotation array
        Annotation[][] annotations
            = constructors[0].getParameterAnnotations();
  
        System.out.println("Parameter annotations -->");
        System.out.println(Arrays.deepToString(annotations));
    }
}
class Test {
  
    public Test(@Properties Object config)
    {
    }
}
  
@Retention(RetentionPolicy.RUNTIME)
@interface Properties {
}

Producción:

Parameter annotations -->
[[@Properties()]]

Programa 2:

// Java program to demonstrate
// Constructor.getParameterAnnotations() method
  
import java.lang.annotation.Annotation;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Constructor;
  
public class GFG {
  
    public static void main(String... args)
        throws NoSuchMethodException
    {
  
        // Create Constructor Object
        Constructor[] constructors
            = GfgDemo.class.getConstructors();
  
        // get Annotation array
        Annotation[][] annotations
            = constructors[0].getParameterAnnotations();
  
        System.out.println("Parameter annotations -->");
        for (Annotation[] ann : annotations) {
            for (Annotation annotation : ann) {
                System.out.println(annotation);
            }
        }
    }
}
class GfgDemo {
  
    public GfgDemo(@Path Path path)
    {
    }
}
  
@Retention(RetentionPolicy.RUNTIME)
@interface Path {
}

Producción:

Parameter annotations -->
@Path()

Referencias: https://docs.oracle.com/javase/10/docs/api/java/lang/reflect/Constructor.html#getParameterAnnotations()

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 *