Java中的LinkedList< ? >
和LinkedList< Object >
之间有什么区别吗?
答案 0 :(得分:1)
这传递了编译:
LinkedList<?> list1 = new LinkedList<String> ();
这不是:
LinkedList<Object> list2 = new LinkedList<String> ();
即。可以为LinkedList<?>
变量分配任何LinkedList<SomeType>
。 LinkedList<Object>
变量只能分配LinkedList<Object>
(或原始LinkedList
,不建议使用)。
另一方面,以下add
:
LinkedList<?> list1 = new LinkedList<String> ();
list1.add("x");
不通过编译,而以下是:
LinkedList<Object> list2 = new LinkedList<Object> ();
list2.add("x");