Java泛型,通配符的嵌套集合

标签 java generics wildcard

这编译 (1.6)

List<? extends Object> l = new ArrayList<Date>();

但这不是

List<List<? extends Object>> ll = new ArrayList<List<Date>>();

有错误

Type mismatch: cannot convert from ArrayList<List<Date>> to List<List<? extends Object>>

有人能解释一下为什么吗? 谢谢

编辑:为结果而编辑

最佳答案

嗯,解释是正确的,但我认为添加实际的工作解决方案也是一件好事;)

List<? extends List<? extends Object>>

可以正常工作,但显然这种集合的使用受到泛型集合的通常限制的很大限制(但对于更简单的 List< ? extends Date > 也是如此)

关于Java泛型,通配符的嵌套集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6293871/

相关文章:

java - 在 Java 中将字符串压缩为 gzip

c# - 为什么在泛型类中使用枚举时必须指定类型参数

java - 避免返回通配符类型

c# - 使用 FakeItEasy 伪造泛型方法而不指定类型

excel - 如何使用Excel的 "=SUMPRODUCT(--ISNUMBER(SEARCH..."函数排除 'complicated compounded'结果?

loops - 如何在 Ansible 中循环通过通配符标识的主机?

java - 如何使用widget.switch更改editText值Android

java - 自定义 Java JTree 实现

java - 适用于 Android 的 YouTube 数据 API V3 问题

ios - 是否可以动态创建 swift 协议(protocol)的可选和非可选版本?