Java Field getGenericType()方法及实例
java.lang.reflect.Field 的 getGenericType() 方法用来返回一个Type对象,代表这个Field对象的声明类型。返回的类型对象可以是Type的子接口的实现之一。GenericArrayType, ParameterizedType, WildcardType, TypeVariable, Class.如果字段对象的类型是参数化类型,返回的Type对象必须准确地反映源代码中使用的实际类型参数,如果底层字段的类型是类型变量或参数化类型,它将被创建。否则,它将被解析。
语法
public Type getGenericType()
参数: 此方法不接受任何东西。
返回 :此方法返回一个 Type 对象,代表此Field对象所代表的字段的声明类型。
异常 :此方法返回以下异常。
下面的程序说明了getGenericType()方法:
程序1 :
// 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.ClassType name: int
程序2
// 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.ClassType name: java.lang.String
参考文献 : https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Field.html#getGenericType-
