Javaでフィールド(Field
)の型を判定するには、リフレクション(Reflection)APIを使います。
これは、実行時にクラスやフィールドの情報を取得したい場合に使う機能です。
Contents
✅ 基本:Field.getType()
を使う
🔽 出力例:
✅ 型の判定(特定型かどうかチェック)
🔸 追加情報:型に関するメソッド一覧(Class<?>
型)
メソッド | 説明 |
---|---|
getType() |
フィールドの型を返す |
isPrimitive() |
プリミティブ型かどうか判定 |
isAssignableFrom(Class<?>) |
代入可能な型かどうか確認 |
getName() / getSimpleName() |
型の完全名/短縮名を取得 |
✅ 応用:ジェネリクスの型を取得したいとき(※やや高度)
ジェネリクス(例:List<String>
)の情報は通常 Field.getType()
ではわかりませんが、
Field.getGenericType()
を使うことで詳細な型情報にアクセスできます(ParameterizedType
など)。
❗ 注意点
-
フィールドが
private
の場合、アクセスにはsetAccessible(true)
が必要です。 -
リフレクションは遅くなる可能性があるので大量処理には注意。
💡 要約
目的 | 方法 |
---|---|
フィールドの型名を取得 | field.getType().getName() |
型が String か判定 |
field.getType() == String.class |
プリミティブ型か確認 | field.getType().isPrimitive() |

Javaの記事の一覧はJava にまとめてあります