[英]Generic Type of a Generic Type in Java?
我有一个界面
public interface BWidgetObject<T> {
}
我想使用此接口创建基于此类型的新通用接口:
public interface BDataList<BWidgetObject> {}
前者发出隐藏类型T
的警告。 以下给出了编译器错误:
public interface BDataList<BWidgetObject<T>> {}
如何将BWidgetObject<T>
表示为BDataList
类型参数?
您可以尝试:
public interface BDataList<T extends BWidgetObject<?>> {}
这里我们指定类型T
将是我们实际上并不关心的类型的BWidgetObject
(这就是我们使用通配符的原因)。 我们只关心T
,事实上它将是BWidgetObject
的子类型。
使用通用绑定 :
public interface BDataList<T extends BWidgetObject<?>> {}
或者,如果需要显式键入窗口小部件,则需要创建另一个子接口:
public interface BWidgetDataList<T> extends BDataList<BWidgetObject<T>> {}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.