簡體   English   中英

如何從具有接口引用的類中獲取簡單的類名?

[英]How to get simple classname from class with interface reference?

如果一個類實現了一個接口,那么如何在沒有完全限定的包的情況下獲取類實現的名稱?

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”作為輸出?

因此,這應該是一般的,我只想出以下解決方法:

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

評論我是否會做得更好......

如果您使用的是> 2.4的GWT SDK,即2.5.x Class.getSimpleName()現在支持

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM