我有两个问题,它们可能是愚蠢的问题,但现在让我感到困惑。
问题 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解决这个问题?