关于泛型:为什么我不能转换Vector< Vector< Number>>

Why can't I convert Vector<Vector<Number>> to AbstractList<AbstractList<Number>> in Java?

本问题已经有最佳答案,请猛点这里访问。

为什么

1
AbstractList<AbstractList<Number>> list = new Vector<Vector<Number>();

生成以下错误:

1
Type mismatch: cannot convert from Vector<Vector<Number>> to AbstractList<AbstractList<Number>>

矢量扩展抽象列表?


当使用Java泛型时,必须使用EDCOX1×0:

1
AbstractList<? extends AbstractList<Number>> list = new Vector<Vector<Number>>();

如果你能做到这一点,那就意味着你可以调用list.add(someAbstractList),这是错误的,因为实际类型的list:它期望的是Vector(或扩展它的类),而不是AbstractList的其他实现。