我使用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")));
}
}
}
答案 0 :(得分:12)
您的qty.add()
位于此for循环中:
for(j=0;j<qty.size();j++)
但qty.size()
为0,因为您尚未向列表中添加任何内容。所以什么都没有添加。
此外,add()
method always returns boolean。您确定不是在寻找get()
方法吗?
答案 1 :(得分:1)
ArrayList<String> qty = new ArrayList<String>();
qty.add("123");
System.out.println(qty.size());
qty.add("1234");
System.out.println(qty.size());
它会输出1
,2
永远不要在servlet中使用成员变量来获取随每个用户更改的数据,因为许多请求可能同时执行。
将您的ArrayList
类声明为(假设qty
为String)
ArrayList<String> qty = Collections.synchronizedList(new ArrayList<String>());
答案 2 :(得分:0)
qty.size()最初为0,因此不会进入循环。