Java 带有通配符的泛型声明

Java 带有通配符的泛型声明,java,generics,Java,Generics,下面两个有什么区别吗 代码: List ls1=new ArrayList(); 列表 两者都是一样的。因为集合不允许原语,只允许类,所以在java中,每个类都隐式扩展对象 如果编写list,您可以看到差异。没有差异,因为每个类型都隐式扩展对象 List<? extends Object> ls = new ArrayList<String>(); List<?> ls1 = new ArrayList<String>(); List<?

下面两个有什么区别吗

代码:

List ls1=new ArrayList();
列表
两者都是一样的。因为集合不允许原语,只允许
,所以在java中,每个
都隐式扩展
对象


如果编写
list,您可以看到差异。没有差异,因为每个类型都隐式扩展对象
List<? extends Object> ls = new ArrayList<String>();
List<?> ls1 = new ArrayList<String>();
List<? extends Object>
List<?>