java中的 LinkedList< ? >
和 LinkedList< Object >
之间是否有区别?
这通过汇编:
LinkedList<?> list1 = new LinkedList<String> ();
这不是:
LinkedList<Object> list2 = new LinkedList<String> ();
即。LinkedList<?>
变量可以分配任何LinkedList<SomeType>
。LinkedList<Object>
变量只能分配一个LinkedList<Object>
(或不建议使用的RAW LinkedList
(。
另一方面以下add
:
LinkedList<?> list1 = new LinkedList<String> ();
list1.add("x");
不通过汇编,而以下内容:
LinkedList<Object> list2 = new LinkedList<Object> ();
list2.add("x");