2012-02-05 60 views
2

如何在运行时获取类名,但只有实际的类名而不是整个“com.xyz.etc”。 ?如何在运行时获取类名,但只有类名?

我的意思是只有最后期限后,其名称的一部分

+0

如果你正在讨论把它作为一个字符串,你可以使用StringTokenizer – Russell 2012-02-05 08:47:01

+0

是的,这就是为什么我问这个问题,因为我也这么想 - 但是肯定有比这更容易的东西.. getSimpleName()是什么我之后,不知道为什么我没有在文档中看到。 – ycomp 2012-02-05 09:03:49

回答

11

你必须使用此代码段为对象:

yourObject.getClass().getSimpleName(); 

或类用途:

yourClass.class.getSimpleName(); 

此代码仅返回类的名称,不包含包名。

+0

很好,谢谢.. – ycomp 2012-02-05 09:01:25

2
String className = object.getClass().getSimpleName(); 

http://www.coderanch.com/t/410851/java/java/Class-Name

+0

应该是getSimpleName() – 2012-02-05 08:49:49

+0

-1,因为getName()返回完全限定的名称(即包括包),因此不提供对实际问题的答案,TS正是不想要的。 – 2012-02-05 10:30:18