【发布时间】:2021-08-05 22:01:35
【问题描述】:
我正在编写一个购物车,当我添加一个在 arraylist 中的产品时,应用程序会抛出一个异常,我不知道为什么。所以,这就是我现在使用的代码。有什么帮助吗?
//the arraylist is not empty
public static ArrayList<mercadonaProducts> mercadonaCartProducts = new ArrayList<>();
if(mercadonaCartProducts.isEmpty()){
mercadonaCartProducts.add(new mercadonaProducts(product_name.getText().toString(),price.getText().toString().substring(7,11),String.valueOf(count[0]),String.valueOf(Double.parseDouble(price.getText().toString().substring(7,11))*count[0])));
saveCart(v);
}else{
for(mercadonaProducts product : mercadonaCartProducts){
if(product.getCartproduct_name().equals(product_name.getText().toString())){
product.setQty(String.valueOf(Integer.parseInt(product.getQty())+count[0]));
product.setTotalprice(Double.parseDouble(product.getQty())*product.getCartprice());
saveCart(v);
}else{
mercadonaCartProducts.add(new mercadonaProducts(product_name.getText().toString(),price.getText().toString().substring(7,11),String.valueOf(count[0]),String.valueOf(Double.parseDouble(price.getText().toString().substring(7,11))*count[0])));
saveCart(v);
}
}
}
【问题讨论】:
-
我不这么认为,我不想使用迭代器因为我想修改数组列表中那个位置的对象数据,我认为使用迭代器我做不到
-
你添加到
mercadonaCartProducts同时迭代它。这是一个禁忌。