-3

私はJavaを初めて使用し、現在、製品を追加してショッピングカートに表示できるショッピングカートを設計しています。

現時点では、次のような配列リストを作成しています。

final ArrayList<Object> cart = new ArrayList<Object>();

次に、オブジェクト「hats」をショッピング カートに追加します

hats Hat1 = new hats ("Hat",orderprice,colourtext,quantitynum,sizetext);

cart.add(Hat1); .

私の質問は、帽子とその属性を表示する配列を取得するにはどうすればよいですか?

乾杯

4

3 に答える 3

1

この行:

final ArrayList<Object> cart = new ArrayList<Object>();

ArrayListすべてのオブジェクト タイプを本当に保持したい場合を除き、これは間違っている可能性があります。帽子を ArrayList に入れるだけの場合、指定したコードは次のようになります。

final ArrayList<hats> cart = new ArrayList<hats>();

...Java の慣例に従うように名前を変更することをお勧めしますが、クラスは大文字で、変数は小文字で始める必要があります。その逆ではありません。

get()次に、オブジェクトでメソッドを呼び出して帽子を取得できArrayListます。これにより、 type のオブジェクトが返されますhats

なんらかの理由でジェネリック型が本当に必要な場合はObject、 get メソッドでキャストできます。

hats myHat = (hats)cart.get(0);

...しかし、それはコーディングの観点からは非常に厄介であり、最初に適切なジェネリック パラメーターを選択するよりも型の安全性がはるかに低くなります。

于 2013-05-30T13:47:49.253 に答える
0

私の質問は、帽子とその属性を表示する配列を取得するにはどうすればよいですか?

以下のようなものですか?

final ArrayList<Object> cart = new ArrayList<Object>();
Hat hat =(Hat) cart.get(0);
hat.getWatever();

ただし、Object の代わりに Hat の arraylist を使用することを強くお勧めします。

 final ArrayList<Hat> cart = new ArrayList<Hat>();
hats Hat1 = new hats ("Hat",orderprice,colourtext,quantitynum,sizetext);
cart.add(Hat1); .
    Hat hat =cart.get(0);//notice don't need to cast
    hat.getWatever();
于 2013-05-30T13:47:30.720 に答える