java - 具有泛型类型的对象的 ArrayList
问题描述
我的泛型类有一些问题。这里是代码示例:
public abstract class Foo <C extends Component> {
//some code
}
public class Bar extends Foo <ConcretComponent> {
//some code
}
public class Application {
private ArrayList<Foo> fooList = new ArrayList<Foo>();
public static main (String[] args) {
fooList.add(new Bar());
}
}
如果我像这样编写代码,我在声明 fooList 时会收到警告,因为我没有给出 Foo 的通用类型,并且代码可以正常工作。但如果我写
private ArrayList<Foo<Component>> fooList = new ArrayList<Foo<Component>>();
它在添加时给了我错误,因为它认为它不适用于 Bar 对象。我只是放了一个@SupressWarnings 还是他们是一种“干净”的方式来做到这一点?
解决方案
推荐阅读
- python - 如何将两个输入放入 tensorflow lambda 层
- asp.net-core-2.0 - 无法使用 iText 7 和 .net 解析来自 pdf 的希伯来语文本
- python-3.x - 日期时间 - 错误或功能?
- python - 我想创建目录并保存图像文件,但它的名称已经存在,它应该有数字表示
- java - 播放应用程序 | 如何将 FilePart 传递给其他请求
- django - this.$apollo 始终未定义
- visual-studio-2019 - Visual Studio 2019 IntelliTest 与 .NET Core、.NET Standard 的兼容性?
- python - 如果满足条件,如何交换 Nx2 numpy 数组的行的元素?
- javascript - const [a, b, c] = array 有什么区别?和 const {a, b, c} = 数组;
- security - Microsoft Identity Platform (/common/oauth2/v2.0/token) 上格式无效的 oAuth2.0 access_token