我测试了一下,没有出错,但是要改一下:  while(it.hasNext())

解决方案 »

  1.   

    我的完整的过程是这样的,但是有异常
      public String checkData(ActionForm form, HttpServletRequest request)
        {
            String list ="";
            String newProductCode="GCX";
            String oldProductCode=null;
            Collection col=new Vector();
            col.add(newProductCode);        Iterator it= col.iterator();
            PurchaseForm listForm = (PurchaseForm)form;
            for(int i = 0; i < listForm.getSize(); i++)
            {
               if (!StringUtil.isEmpty(listForm.get(i).getProductID()))
               {
                  newProductCode=listForm.get(i).getProductCode();              while (it.hasNext())
                  {                  oldProductCode=((String) it.next());                 if (newProductCode.equals(oldProductCode.toString()))
                     {
                      list=list+"一张单据不能开相同的品种!";
                      break;
                     }
                   }
                   if (("".equals(list)))
                   col.add(newProductCode);               if ((Double.parseDouble(listForm.get(i).getQuantin())<=0) ||                (Double.parseDouble(listForm.get(i).getPrice()))<=0)
                   {
                       list=list+listForm.get(i).getProductDesc()+"  数量或单价不能为0";
                       break;
                   }
               }
            }
            return list;
        }
      

  2.   

    我给oldProductCode=((String) it.next());语句加了try ...catch语句,好象就变成了死循环