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 にまとめてあります
