Clase de método | Método getDefaultValue() en Java

El método getDefaultValue() de la clase java.lang.reflect .Method. Devuelve el valor predeterminado para el miembro de anotación representado por el objeto Método.
Cuando el miembro de la anotación pertenece a tipos primitivos, el método devuelve la instancia de ese tipo contenedor . Devuelve nulo si el miembro de la anotación no contiene ningún valor predeterminado o si el objeto del método no tiene un miembro de un tipo de anotación.

Sintaxis:

public Object getDefaultValue()

Valor devuelto: este método devuelve el valor predeterminado para el miembro de anotación representado por este objeto de método.

Excepción: este método genera una TypeNotPresentException si la anotación es de tipo Clase y no se puede encontrar ninguna definición para el valor de clase predeterminado.

El siguiente programa ilustra el método getDefaultValue() de la clase Method:

Ejemplo 1: el programa a continuación contiene una demostración de nombre de interfaz con algún valor predeterminado para el miembro de la anotación representado por los métodos de la interfaz. El método principal del programa crea un objeto de método para cada método de la interfaz e imprime el valor predeterminado para la anotación si el método contiene dicho valor predeterminado. valor de la anotación.

/*
* Program Demonstrate getDefaultValue() method 
* of Method Class.
*/
import java.lang.reflect.Method;
  
// Main Class
public class GFG {
    public static void main(String[] args)
        throws NoSuchMethodException, SecurityException
    {
  
        // Get Method Object
        Method methodObj1 = demo
                                .class
                                .getDeclaredMethod("fauvMovie");
  
        // Apply getDefaultValue() method
        Object obj1 = methodObj1.getDefaultValue();
  
        // print default value
        System.out.println(obj1);
  
        // Get Method Object
        Method methodObj2 = demo
                                .class
                                .getDeclaredMethod("fauvMovieRating");
  
        // Apply getDefaultValue() method
        Object obj2 = methodObj2.getDefaultValue();
  
        // print default value
        System.out.println(obj2);
  
        // Get Method Object
        Method methodObj3 = demo
                                .class
                                .getDeclaredMethod("fauvMovieReleaseYear");
  
        // Apply getDefaultValue() method
        Object obj3 = methodObj3.getDefaultValue();
  
        // print default value
        System.out.println(obj3);
    }
  
    // an interface with default annotations
    public @interface demo {
        public String fauvMovie() default "Inception";
        public double fauvMovieRating() default 9.6;
        public int fauvMovieReleaseYear();
    }
    }
Producción:

Inception
9.6
null

Ejemplo 2: el programa a continuación contiene una demostración de nombre de interfaz con algún valor predeterminado para el miembro de anotación representado por métodos de interfaz y una demostración de nombre de clase sin tal valor predeterminado para la anotación. El método principal del programa crea un objeto de método para cada método de interfaz y class e imprima el valor predeterminado para la anotación si el método contiene dicho valor predeterminado para la anotación.

/*
* Program Demonstrate getDefaultValue() method 
* of Method Class.
*/
import java.lang.annotation.*;
import java.lang.reflect.Method;
  
// a simple class with no annotations
class demo {
    public void demoMethod(String value)
    {
        System.out.println("demo method: " + value);
    }
}
  
public class GFG {
  
    // Main method
    public static void main(String[] args)
    {
        try {
            // create class object
            Class classobj = demo.class;
            Class[] parameterTypes = { String.class };
  
            // get Method Object
            @SuppressWarnings("unchecked")
            Method method = classobj
                                .getMethod("demoMethod",
                                           parameterTypes);
  
            // Print default value
            System.out.println("default value of demoMethod():"
                               + method.getDefaultValue());
  
            // get Method Object
            Method methodobj = demoInterface
                                   .class
                                   .getDeclaredMethod("getValue");
  
            // get default value
            Object defaultValue = methodobj.getDefaultValue();
  
            // Print default value
            System.out.println("default value of getValue():"
                               + defaultValue);
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
  
    // a interface with some annotation
    @Target({ ElementType.METHOD })
    @Retention(RetentionPolicy.RUNTIME)
    private @interface demoInterface {
        int getValue() default 51;
    }
}
Producción:

default value of demoMethod():null
default value of getValue():51

Referencia:
https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html#getDefaultValue–

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 *