El método getGenericType() de java.lang.reflect.Field solía devolver un objeto Type que representaba el tipo declarado de este objeto Field. El objeto de tipo devuelto puede ser una de las implementaciones de las subinterfaces de Type: GenericArrayType, ParameterizedType, WildcardType, TypeVariable, Class. Si el objeto Tipo de campo es un tipo parametrizado, el objeto Tipo devuelto debe reflejar con precisión los parámetros de tipo reales utilizados en el código fuente y si el tipo del campo subyacente es una variable de tipo o un tipo parametrizado, se crea. De lo contrario, se resuelve. Sintaxis:
public Type getGenericType()
Parámetros: Este método no acepta nada. Return : este método devuelve un objeto Type que representa el tipo declarado para el campo representado por este objeto Field. Excepción : este método devuelve las siguientes excepciones:
- GenericSignatureFormatError: si la firma del campo genérico no se ajusta al formato especificado en The Java™ Virtual Machine Specification.
- TypeNotPresentException: si la firma de tipo genérico del campo subyacente hace referencia a una declaración de tipo inexistente.
- MalformedParameterizedTypeException: si la firma genérica del campo subyacente hace referencia a un tipo parametrizado que no se puede instanciar por ningún motivo.
Los siguientes programas ilustran el método getGenericType(): Programa 1:
Java
// Java program to illustrate // getGenericType() method import java.lang.reflect.Field; import java.lang.reflect.Type; public class GFG { // initialize field private static int number; public static void main(String[] args) throws NoSuchFieldException { // get Field object Field field = GFG.class .getDeclaredField("number"); // apply getGenericType() method Type type = field.getGenericType(); // print Results System.out.println( "Type class: " + type.getClass()); System.out.println( "Type name: " + type.getTypeName()); } }
Type class: class java.lang.Class Type name: int
Programa 2:
Java
// Java program to illustrate // getGenericType() method import java.lang.reflect.Field; import java.lang.reflect.Type; public class GFG { // initialize field final static String value = "Geeks"; public static void main(String[] args) throws NoSuchFieldException { // get Field object Field field = GFG.class .getDeclaredField("value"); // apply getGenericType() method Type type = field.getGenericType(); // print Results System.out.println( "Type class: " + type.getClass()); System.out.println( "Type name: " + type.getTypeName()); } }
Type class: class java.lang.Class Type name: java.lang.String
Referencias: https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Field.html#getGenericType–
Publicación traducida automáticamente
Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA