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



说明

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() 方法的用法。

package com.tutorialspoint;

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 = 5.0f;
}

让我们编译并运行以上程序,这将产生以下结果 -

float
java_reflect_field.htm
广告