在C#中,我们有Type.FullName
和Type.Name
来获取一个类型的名称(本例中为类),有或没有名称空间(java-world中的包)。
与Type.Name
相当的java是什么?
显然,必须有一种比使用Class.getName()
更好的方法,并手动删除包名称。
答案 0 :(得分:318)
返回源代码中给出的基础类的简单名称。如果基础类是匿名的,则返回空字符串。
数组的简单名称是附加了“[]”的组件类型的简单名称。特别是组件类型为匿名的数组的简单名称是“[]”。
它实际上是从名称中剥离包信息,但这对您来说是隐藏的。
答案 1 :(得分:20)
以下功能适用于JDK 1.5及以上版本。
public String getSimpleName()
答案 2 :(得分:13)
如果使用StackTraceElement,请使用:
String fullClassName = stackTraceElement.getClassName();
String simpleClassName = fullClassName.substring(fullClassName.lastIndexOf('.') + 1);
System.out.println(simpleClassName);