java.lang.reflect.Field的getGenericType()方法用于返回表示该Field对象声明类型的Type对象。返回的类型对象可以是Type子接口的实现之一:GenericArrayType,ParameterizedType,WildcardType,TypeVariable,Class。如果“字段类型”对象是参数化类型,则返回的“类型”对象必须准确反映源代码中使用的实际类型参数,并且如果基础字段的类型是类型变量或参数化类型,则将创建它。否则,解决。
用法:
public Type getGenericType()
参数:此方法接受不接受任何内容。
返回:此方法返回一个Type对象,该对象表示此Field对象表示的字段的声明的类型。
异常:此方法返回以下异常:
- GenericSignatureFormatError:如果通用字段签名不符合Java™虚拟机规范中指定的格式。
- TypeNotPresentException:如果基础字段的通用类型签名引用了不存在的类型声明。
- MalformedParameterizedTypeException:如果基础字段的通用签名引用由于某种原因而无法实例化的参数化类型。
以下示例程序旨在说明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.Class Type 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.Class Type name: java.lang.String
参考文献: https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Field.html#getGenericType–
相关用法
- Java Field set()用法及代码示例
- Java Field get()用法及代码示例
- Java Field getShort()用法及代码示例
- Java Field getModifiers()用法及代码示例
- Java Field isEnumConstant()用法及代码示例
- Java Field getName()用法及代码示例
- Java Field getType()用法及代码示例
- Java Field hashCode()用法及代码示例
- Java Field getByte()用法及代码示例
- Java Field getLong()用法及代码示例
- Java Field getInt()用法及代码示例
- Java Field getAnnotatedType()用法及代码示例
- Java Field setLong()用法及代码示例
- Java Field setDouble()用法及代码示例
- Java Field getAnnotationsByType()用法及代码示例
注:本文由纯净天空筛选整理自AmanSingh2210大神的英文原创作品 Field getGenericType() method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。