Javareflect-field-getgenerictype

提供:Dev Guides
移動先:案内検索

java.lang.reflect.Field.getGenericType()メソッドの例

説明

  • java.lang.reflect.Field.getGenericType()*メソッドは、このFieldオブジェクトによって表されるフィールドの宣言された型を表すTypeオブジェクトを返します。

宣言

以下は* java.lang.reflect.Field.getGenericType()*メソッドの宣言です。

public Type getGenericType()

返品

このFieldオブジェクトによって表されるフィールドの宣言された型を表すTypeオブジェクト。

例外

  • GenericSignatureFormatError -ジェネリックフィールドシグネチャがJava仮想マシン仕様で指定された形式に準拠していない場合。
  • TypeNotPresentException -指定されたオブジェクトが、基礎となるフィールド(またはそのサブクラスまたは実装者)を宣言するクラスまたはインターフェースのインスタンスではない場合
  • MalformedParameterizedTypeException -基になるフィールドのジェネリックシグネチャが、何らかの理由でインスタンス化できないパラメーター化された型を参照している場合。

次の例は、java.lang.reflect.Field.getGenericType()メソッドの使用方法を示しています。

package com.finddevguides;

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