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(); } }
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; } }
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