具有通配符的泛型声明

时间:2013-10-19 08:51:22

标签: java generics

下面两个有什么不同吗?

代码:

List<? extends Object> ls = new ArrayList<String>();
List<?> ls1 = new ArrayList<String>();

1 个答案:

答案 0 :(得分:2)

List<? extends Object>

List<?>

两者都是一样的。因为集合不允许原语只允许Classes,所以在java中Class隐式地扩展Object

你可以看到区别如果你写List<? extends MyOwnParentClass>

但是Object,你不会在这里得到任何额外的利益/损失。