1

Carタイプのオブジェクトを車の配列に追加しようとしています。車を入れたい配列内に特定のインデックスがありません。最初の空で利用可能なインデックスに車を追加したいだけです。そこに既に車のオブジェクトがありません。これが私のコードです:

protected static final int MaxCars = 5;
protected Car[] cars = new Car[MaxCars];

public void addCar(Car c)
{
    for(int i = 0; i < MaxCars; i++)
    {
        if (cars[i] == null)
        {
            cars[i] = c;
            break;
        }
    }
    incrementNumInTeam();
}

for ループ内のif ステートメントNullPointerExceptionで a .. を取得しています。どうすればこれを克服できますか?

4

1 に答える 1

3

if ブロックが呼び出された時点で、変数 cars はおそらく null です。エラーは存在しますが、コードの他の場所にある可能性があります。cars 変数をシャドウしていないこと、および初期化されている変数が読み取られている変数と同じであることを確認してください。

于 2013-11-09T19:15:38.230 に答える