从Java中的静态方法获取类名

新手上路,请多包涵

如何从该类中的静态方法中获取该类的名称。例如

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

把它放在上下文中,我实际上想将类名作为异常消息的一部分返回。

原文由 Miles D 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 788
2 个回答

为了正确支持重构(重命名类),您应该使用:

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

或(感谢 @James Van Huis ):

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

原文由 toolkit 发布,翻译遵循 CC BY-SA 3.0 许可协议

在 Java 7+ 中,您可以在静态方法/字段中执行此操作:

 MethodHandles.lookup().lookupClass()

原文由 Rein 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题