1

我有两个问题,它们可能是愚蠢的问题,但现在让我感到困惑。

问题 1:

我有这个代码:

private List<Car> carList;

public void setData(List<Object> list)
{
    this.carListist = list;
}

但是在this.carList = list我得到一个编译错误:incompatible types, required: List<Car> but found List<Object>

我的问题是,为什么会出现这个错误?List 不是 Car 类型的对象列表吗?那么为什么它不在那里接受一个对象呢?

问题2: 我将上面的代码更改为以下代码,错误消失了:

private List<Object> carList;

public void setData(List<Object> list)
{
    this.carListist = list;
}


public Object getValueAt(int row, int column) {

    Car car = carList.get(row); //Compiling error here

    switch(column)
    {
        (...)
    }
    (..)

编译错误(在代码注释中签名)是incompatible types, required Car but found Object 我不明白的是,现在列表被定义为对象列表。汽车是一个物体。为什么汽车作为一个对象不被接受?

无论如何要为问题1和2解决这个问题?

4

1 回答 1

1

并不是因为每辆汽车都是一个对象,所以汽车列表也是对象列表,在您的示例中,如果对象列表包含船而不是汽车怎么办......

于 2013-09-29T21:38:03.067 回答