我有一个界面
public interface BWidgetObject<T> {
}
Run Code Online (Sandbox Code Playgroud)
我想使用此接口创建基于此类型的新通用接口:
public interface BDataList<BWidgetObject> {}
Run Code Online (Sandbox Code Playgroud)
前者发出T隐藏类型的警告.以下给出了编译器错误:
public interface BDataList<BWidgetObject<T>> {}
Run Code Online (Sandbox Code Playgroud)
我如何表达BWidgetObject<T>为类型参数BDataList?
您可以尝试:
public interface BDataList<T extends BWidgetObject<?>> {}
Run Code Online (Sandbox Code Playgroud)
这里我们指定的类型T将是BWidgetObject我们实际上并不关心的类型(这就是我们使用通配符的原因).我们只关心T它,它将是一个子类型BWidgetObject.
| 归档时间: |
|
| 查看次数: |
77 次 |
| 最近记录: |