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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。