Java泛型与集合框架全解析
1. 理解泛型超类型
在处理子类和超类时,泛型的下界可能会变得棘手。以下是一个示例:
List<? super IOException> exceptions = new ArrayList<Exception>();
exceptions.add(new Exception()); // 编译不通过
exceptions.add(new IOException());
exceptions.add(new FileNotFoundException());
- 第三行引用的列表可能是
List<IOException>、List<Exception>或List<Object>。 - 第四行无法编译,因为我们可能有一个
List<IOException>,而Exception对象无法放入其中。 - 第五行没问题,
IOException可以添加到任何这些类型的列表中。 - 第六行也没问题,
FileNotFoundException也可以添加到这三种类型的列表中。虽然FileNotFoundException是IOException的子类,但它
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



