java.lang.reflect.Field.getGenericType()方法範例

2019-10-16 22:48:32

java.lang.reflect.Field.getGenericType()方法返回一個Type物件,該物件表示此Field物件所表示的欄位的宣告型別。

宣告

以下是java.lang.reflect.Field.getGenericType方法的宣告。

public Type getGenericType()

返回值

  • 一個Type物件,表示由此Field物件表示的欄位的宣告型別。

異常

  • GenericSignatureFormatError - 如果通用欄位簽名不符合Java虛擬機器規範中指定的格式。

  • TypeNotPresentException - 如果指定的物件不是宣告底層欄位(或其子類或實現者)的類或介面的範例。

  • MalformedParameterizedTypeException - 如果基礎欄位的通用簽名參照了由於任何原因無法範例化的引數化型別。

例子

以下範例顯示java.lang.reflect.Field.getGenericType()方法的用法。

import java.lang.reflect.Field;

public class FieldDemo {

   public static void main(String[] args) throws NoSuchFieldException, 
      SecurityException, IllegalArgumentException, IllegalAccessException {

      SampleClass sampleObject = new SampleClass();

      Field field = SampleClass.class.getField("sampleField");
      System.out.println(field.getGenericType());
   }
}

class SampleClass {
   public static float sampleField = 225.0f;
}

讓我們編譯並執行上面的程式,這將產生以下結果 -

float