如何得到一个没有包的类的名字?

在C#中,我们有Type.FullNameType.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);