1

2 つの質問があります。ばかげた質問かもしれませんが、今は混乱しています。

質問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)
    {
        (...)
    }
    (..)

Ther コンパイル エラー (コード コメントに署名されています) はincompatible types, required Car but found Object 、私が理解できないのは、リストがオブジェクト リストとして定義されていることです。車はオブジェ。なぜ車は物として受け入れられないのですか?

とにかく、質問1と2の両方でこれを修正するには?

4

1 に答える 1

1

車のリストがオブジェクトのリストでもあるのは、すべての車がオブジェクトであるからではありません。あなたの例では、オブジェクトのリストに車ではなくボートが含まれているとどうなりますか....

于 2013-09-29T21:38:03.067 に答える