2016-04-28 12 views
1

私の目標は、そのリストからCarを取得できるように、Objectのリストを持つことです。車の詳細を取得するだけでなく、。誰かが私を正しい方向に向けることができますリストからオブジェクトを追加および検索する

私がこれまで行ってきたこと。

  1. Carというクラスを作成し、変数CarNum、carName、carPlateを設定します。
  2. carNameなどの変数とのtoStringため
  3. 生成ゲッターとセッター

を次のようにCarCollectionというクラスを作成します。

public class CarCollection { 
     private List<CarItem> mCarList; 



     public void addVan(CarItem v) { 
      mCarList.add(v); 
     } 

     public List<CarItem> getCarList() { 
      return mCarList; 
     } 

次のテストは機能しません。どうして?

public class TestCarCollectionprocess { 

    public static void main(String[] args) { 

     CarItem car1 = new CarItem(); 
     car1.setmCarName("Pedro"); 
     car1.setmCarNum(1); 

     CarItem car2 = new CarItem(); 
     car2.setmCarName("Rene"); 
     car2.setmCarNum(2); 

     CarCollection carList = new CarCollection();   
     carList.addCar(car1); 
     carList.addCar(car2); 
     System.out.println(carList.getCarList()); 
    } 
} 
+1

正確には動作しません。 – Gendarme

+0

あなたが得た情報を出力してください。 –

+0

CarCollectionクラスにaddCarメソッドが表示されず、プライベートリストを完全に構築している場合は表示されません mCarList; –

答えて

3

を設定し、コンストラクタを作成し、あなたがListを初期化できませんでしたので、addVan方法でNullPointerExceptionを取得するので、このようにそれを変更する必要があります。

private List<CarItem> mCarList = new ArrayList<>(); 
+1

ありがとう。これは私が探していた答えでした! –

0

あなたがnull参照の例外を取得する必要がありますので、これまでリストをインスタンス化せずCarCollectionのmCarListにCarItemを追加しようとしています。あなたのcarCollectionクラスでは、私はあなたのコードを見ると何

mCarList = new List<CarItem>(); 
+0

リストはインターフェイスなので、これはうまく動作しません。 –

+0

いいえ、IListはインターフェイスです、Listはインターフェイス –

+1

の実装のインターフェイスです、私はタグを読み取っていません。私はC#、ないjavaと思っていた。私の悪い... –

関連する問題