[英]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.