我很難理解Java泛型中的通配符。具體來說,我有以下問題:瞭解Java中的通配符
如果我們有一個
LinkedList<?>
,我們爲什麼不能添加Object
呢?我知道它不知道列表的類型,但是不會在列表中添加Object
讓我們在任何情況下都可以覆蓋?與上面的問題類似,如果我們有
LinkedList<? extends Number>
,爲什麼我們不能add
aNumber
它呢?最後,如果我們有
LinkedList<? super Number>
,爲什麼我們add
一個Integer
到列表中,我們不應該只能夠添加東西,都是數的超?
我想我想了解通配符的一般工作原理,我讀過他們的Oracle教程和其他一些東西,但我不明白爲什麼他們的工作,我想。
列表>表示該列表可能包含任何內容,但所有這些內容都屬於同一類型。既然你不知道他們是什麼,你不能添加一個。 – deanosaur
出於某種原因,我正在考慮UNIX外殼通配符。 – hcaulfield57