ArrayList panelNoList=new ArrayList();
ArrayList parentLotNoList=new ArrayList();
panelNoList.add(this.lotNo);
Properties parentPro=new Properties();
parentPro=Lot.getParentLotNoByLot(conn,panelNoList,log);//根据panelNoList去找ParentLotNo
for(int i=0;i<panelNoList.size();i++)
{
String panelNo=(String)panelNoList.get(i);
String tempParentLotNo=parentPro.getProperty(panelNo);//取出panelNo对应的parentLotNo
parentLotNoList.add(tempParentLotNo);
} if(parentLotNoList==null || (parentLotNoList!=null &&parentLotNoList.size()==0 )){ //如果parentLotNo为空,则将panelNoList作为parentLotNo
parentLotNoList=new ArrayList();
parentLotNoList.add(this.lotNo);
} Lot.writeToR_LOT_PLOT(conn,biz,this.newLotNo,parentLotNoList,log);//将parentLotNo和对应的新lotNo写入表
我想请教一下,为什么parentLotNoList为空,系统并没有去执行if语句?导致将空的parentLotNo写入表而报错!是我写if语句的不对吗?writeToR_LOT_PLOT和getParentLotNoByLot这两个方法没问题,我已经测过了,请高手指教!!!!!!!
List l = new ArrayList();
l.add(null);
System.out.println(l.size());
}
这个输出结果是1.
panelNoList.add(this.lotNo); 这句中的this.lotNo为null。
调试一下parentLotNoList中是不是有 parentLotNoList.add(null);的情况吧。
System.out.println("******************");
这句话没执行,我的this.lotNo不为空的啊
if(parentLotNoList==null ¦ ¦ (parentLotNoList!=null &&parentLotNoList.size()==0 ))
的了
System.out.println("@@@@@@@@@parentLotNoList "+parentLotNoList);
输出结果是@@@@@@@@@parentLotNoList[null] 啊?
我也晕了,我觉得我的语句没有错啊
这个是parentLotNoList中有元素,元素值为null
parentLotNoList.add(tempParentLotNo); 执行parentLotNoList.add的时候,你不用对tempParentLotNo进行判断的吗