Java – 获取当前类的名称?

问题:

所有我想要做的是获取当前的类名,并且java将无用的无意义$ 1附加到我的类名称的末尾。如何摆脱它,只返回实际的类名?

String className = this.getClass().getName();

回答:

“$ 1”不是“无用的无意义”。如果你的班级是匿名的,会附加一个数字。
如果你不想让类本身,而是它的声明类,那么你可以使用getEnclosingClass()。例如:

Class<?> enclosingClass = getClass().getEnclosingClass();
if (enclosingClass != null) {
  System.out.println(enclosingClass.getName());
} else {
  System.out.println(getClass().getName());
}

您可以在某些静态实用程序中移动它。
但请注意,这不是当前的类名。匿名类是与其封闭类不同的类。内部类的情况类似。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Java – get the current class name?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

42 − 35 =