如何从具有接口引用的类中获取简单的类名?

时间:2013-04-08 11:12:37

标签: java gwt

如果一个类实现了一个接口,如何在没有完全限定的包的情况下获取类实现的名称?

interface HasText;
class Base extends HasText;

List<HasText> texts;

for (HasText text : texts) {
     //Error: The method getSimpleName() is undefined for the type Class<capture#1-of ? extends HasText>
     Sysout(text.getClass().getSimpleName());

     //prints: my.package.to.Base
     Sysout(text.getClass().getName());
}

如何在没有包装声明的情况下仅将'Base'作为输出?

2 个答案:

答案 0 :(得分:3)

因此,这应该可以正常工作,我只提出了以下解决方法:

String name = text.getClass().getName();
name = name.substring(name.lastIndexOf(".") + 1);

评论我是否会做得更好......

答案 1 :(得分:3)

如果您使用的是&gt; 2.4的GWT SDK,即2.5.x Class.getSimpleName()现在supports