「Java8」リフレクション(reflection)でクラスの情報を取得する
環境
Eclipse 2019
Java8
Windows 10 64bit
書式
Class<?> 変数 = クラス.class;
クラス情報を取得したいクラス名に.classを追加して、クラス情報のインスタンス(Classクラス)を取得します。
使用例
package com.arkgame.testinfo; public class TestUser { public static void main(String[] args) { //Classクラスのインスタンスを取得 Class<?> cft = User.class; //getSimpleName System.out.println("クラス名: " + cft.getSimpleName()); //getPackage System.out.println("パッケージ名: " + cft.getPackage()); //getName System.out.println("パッケージ名 クラス名(FQCN): " + cft.getName()); } } //クラスUserの定義 class User { private int age = 12; private String username = "yamada"; }
実行結果
クラス名: User
パッケージ名: package com.arkgame.testinfo
パッケージ名 クラス名(FQCN): com.arkgame.testinfo.User