工作用一个例子解释这个问题:Java泛型:无界通配符不与对象类型参数
public class DataWrapper<T> {
T data;
};
DataWrapper<Object> obj1 = new DataWrapper<Object>();
List<DataWrapper<?>> anyDataList = Arrays.asList(obj1); //this doesn't work
DataWrapper<Integer> objInt = new DataWrapper<Integer>();
anyDataList = Arrays.asList(obj1, objInt); //this work
我不明白为什么“Arrays.asList(OBJ1)”不工作?
升级到Java 8获得更好的结果:) – 2014-08-27 19:36:28
Java类型系统是相当困难的代码,而无需一个IDE左右,这是肯定的。 – 2014-08-27 19:39:19
确认:这个解释在Java 8 – therealrootuser 2014-08-27 19:40:05