2013-05-07 72 views
1

List<Integer>List<? super Integer>有什麼區別?列表<Integer>和List <?之間的區別super Integer>

哪一個是好的做法或什麼時候我們應該用什麼?

+0

在這種情況下'超級'工作嗎? – 2013-05-07 08:55:17

+0

@Marco Forberg,是的!取決於你想達到什麼。 – 2013-05-07 08:55:49

+0

可能的重複http://stackoverflow.com/q/3847162/1313143 – MarioDS 2013-05-07 08:56:37

回答

3

List<Integer>List到類型Integer。這意味着它可以接收和生產Integer

List<? super Integer>是一個無限List接受那就是Integer一個Integer或超類的任何值。

第二個選項是最好的PECS使用原則(佩奇代表生產者延伸消費者超級)。如果您想要根據類型T添加項目,則無需考慮它的實際類型。

欲瞭解更多信息,請參閱相關職位here

0

List<Integer>是這裏最好的選擇。

List<? super AbstractObject>如果你在處理多態性問題,會是更好的選擇。

0

最明顯的區別是,你可以得到元素出List<Integer>作爲Integer類型,但是當你的元素出來List<? super Integer>,你只能得到型Object

相關問題