如何获得一个类的名称没有包?

在c#中,我们有Type.FullNameType.Name用于获取类型的名称(在本例中是类),带有或不带有名称空间(java-world中的包)。

java中等价于Type.Name的是什么?

显然,肯定有比使用Class.getName()并手动剥离包名更好的方法。

131282 次浏览

Class.getSimpleName()

返回源代码中给出的底层类的简单名称。如果底层类是匿名的,则返回空字符串。

数组的简单名称是组件类型的简单名称,带有"[]"附加。特别是组件类型为匿名的数组的简单名称是"[]"。

它实际上是从名称中剥离包信息,但这对您是隐藏的。

如果使用StackTraceElement,请使用:

String fullClassName = stackTraceElement.getClassName();
String simpleClassName = fullClassName.substring(fullClassName.lastIndexOf('.') + 1);


System.out.println(simpleClassName);