如何得到一个没有包的类的名字?
在C#中,我们有Type.FullName
和Type.Name
来获取名称空间(java-world中的包)的types(在本例中是类)的名称。
与Type.Name
相当的java是什么?
显然必须有比使用Class.getName()
更好的方法,并手动剥离包名称。
Class.getSimpleName()
返回源代码中给出的基础类的简单名称。 如果基础类是匿名的,则返回空string。
数组的简单名称是附加“[]”的组件types的简单名称。 特别是组件types为匿名的数组的简单名称是“[]”。
它实际上是从名称中剥离包装信息,但是这对你是隐藏的。
以下函数将在JDK版本1.5及更高版本中运行。
public String getSimpleName()
如果使用StackTraceElement,请使用:
String fullClassName = stackTraceElement.getClassName(); String simpleClassName = fullClassName.substring(fullClassName.lastIndexOf('.') + 1); System.out.println(simpleClassName);