1. ホーム

[解決済み】Javaの静的メソッドからクラス名を取得する方法

2022-04-03 12:26:12

質問

クラス内の静的メソッドからクラス名を取得するにはどうしたらよいですか。例えば

public class MyClass {
    public static String getClassName() {
        String name = ????; // what goes here so the string "MyClass" is returned
        return name;
    }
}

文脈を整理すると、実際には例外のメッセージの一部としてクラス名を返したいのです。

どのように解決するのですか?

リファクタリング(クラス名の変更)に正しく対応するためには、どちらかを使用する必要があります。

 MyClass.class.getName(); // full name with package

または(おかげさまで ジェームス・ヴァン・ハイス ):

 MyClass.class.getSimpleName(); // class name and no more