-4

ArrayList用来存储用户在购物车中输入的数量值。但是,在尝试将数量添加到 时ArrayList,并未添加数量。为什么没有添加数量?

代码在这里:

public class Add_Cart1 extends HttpServlet {

    String id, name, cost, stock;
    ArrayList qty = new ArrayList();

        if(id != null)
        {
            for(j = 0; j < qty.size(); j++)
            {
                System.out.println("values......." + req.getParameterValues("qty"));
                System.out.println("qty........." +
                  qty.add(req.getParameterValues("qty")));

            }   
        }
} 
4

3 回答 3

12

qty.add()在这个 for 循环中:

          for(j=0;j<qty.size();j++)

Butqty.size()是 0,因为您还没有向列表中添加任何内容。所以什么都没有添加。

此外,该add()方法始终返回 boolean。你确定你不是在找get()方法吗?

于 2012-09-04T07:05:45.360 回答
1

检查ArrayList.size()

    ArrayList<String> qty = new ArrayList<String>();
    qty.add("123");
    System.out.println(qty.size());
    qty.add("1234");
    System.out.println(qty.size());

它会输出12

永远不要在 servlet 中将成员变量用于随每个用户更改的数据,因为可能同时执行许多请求。

将您的课程声明ArrayList为(假设qty是字符串)

ArrayList<String> qty = Collections.synchronizedList(new ArrayList<String>());
于 2012-09-04T07:06:55.367 回答
0

qty.size() 最初将为 0,因此它不会进入循环。

于 2012-09-04T07:09:59.480 回答