前提・実現したいこと
Java(SpringFramework)でショッピングサイトのようなシステムを
作っています。
エラーメッセージ等はでないのですが、
JavaBeans型のListをfor文で値を取得する際に、同じもののみが
取得されてしまって困っています。
該当のソースコード
Java(Spring)
1OrderItemBean orderItemBean = new OrderItemBean(); 2List<Item> items = itemRepository.findAllById(basketIdList); 3List<OrderItemBean> oiBean = new ArrayList<OrderItemBean>(); 4 5 for (int i = 0; i < basketNum; i++) { 6 Item item = items.get(i); 7 orderItemBean.setId(item.getId()); 8 orderItemBean.setName(item.getName()); 9 orderItemBean.setPrice(item.getPrice()); 10 orderItemBean.setImage(item.getImage()); 11 orderItemBean.setOrderNum(basketOrderNumList.get(i)); 12 orderItemBean.setSubtotal(subtotalList.get(i)); 13 14 oiBean.add(i, orderItemBean); 15 } 16 17for (int num = 0; num < basketNum; num++) { 18 System.out.println("oiBeanのname取得"+oiBean.get(num).getName()); 19 20 //下記は試しに記述してみたコード 21 System.out.println(oiBean.get(0).getName()); 22 System.out.println(oiBean.get(1).getName()); 23 } 24 25``` 26 27### 試したこと 28「OrderItemBeanはInteger idやString name,Integer priceなどが詰まったjavaBeansです。 29 30OrderItemBean型のArrayList,oiBeanを定義して 31oiBeanの中にorderItemBeanにセッターで中身をいれたjavaBeansをリスト 32として入れていきます。 33その後for文でひとつづつ取得しようとしてみました。」 34 35###### SYSOUTの結果等 36sysoutの結果は例えばorderItemBean.setName(item.getName());が 37オレンジ、りんご、辞書の順にセットしていくと結果が 38オレンジ、オレンジ、オレンジになっています。 39一つ目のfor文内でitem.getName()をsysoutしてみると出てくるものが 40itemsの主キーに設定しているidの昇順にりんご(id=1)、辞書(id=2)、オレンジ(id=3)の順に出力されています。 41まずはオレンジが三回出力されるのを解決するにはどうすれば良いでしょうか 42宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/24 02:26