【发布时间】:2014-03-12 17:48:51
【问题描述】:
我很难理解 Java 泛型中的通配符。具体我有以下问题:
如果我们有一个
LinkedList<?>,为什么我们不能添加一个Object呢?我知道它不知道列表的类型,但是在任何情况下都不会在列表中添加Object吗?与上面的问题类似,如果我们有
LinkedList<? extends Number>,为什么我们不能add一个Number呢?
1234563
我想我想了解通配符的一般工作原理,我已经阅读了有关通配符的 Oracle 教程以及其他一些内容,但我不明白它们为什么会起作用。
【问题讨论】:
-
List> 表示列表可能包含任何内容,但所有这些内容都属于同一类型。由于您不知道它们是什么,因此无法添加。
-
出于某种原因,我在考虑 UNIX shell 通配符。