下面两个有什么区别吗?
代码:
List<? extends Object> ls = new ArrayList<String>();
List<?> ls1 = new ArrayList<String>();
最佳答案
List<? extends Object>
和
List<?>
两者是相同的。因为集合不允许基元,并且只允许 Classes
,在java中每个Class
隐式扩展 Object
.
如果你写List<? extends MyOwnParentClass>
,你可以看到区别。 .
但与 Object
,您不会在这里获得任何额外的 yield /损失。
关于java - 带有通配符的泛型声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19464226/