「Java8」リフレクション(reflection)でクラスの情報を取得する

環境
Eclipse 2019
Java8
Windows 10 64bit

書式
Class<?> 変数 = クラス.class;
クラス情報を取得したいクラス名に.classを追加して、クラス情報のインスタンス(Classクラス)を取得します。

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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";
}
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"; }
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

Java

Posted by arkgame