首页 > 代码库 > List for循环与对象的问题
List for循环与对象的问题
下面这里代码中的所有变量都在for循环之外创建,对于对象的创建我还是有点不明白,如果按照下面的“(1)”的写法,如果list的集合中的数据超过1条数据,当for循环第二次进入系统时下面"(2)"中的do{}方法内,对象竟然取得的内容是重复的,不知道什么原因,最后我将“(1)”的方法修改成 先 new 对象,再给对象赋值,才把问题解决。在此记录一下for (int i =0;i<querySocialSecurityS.size();i++ ) { //处理同一张点单 //判断下一条订单id是否与上一条数据id一致,不一致则循环下一张订单 securityVo= querySocialSecurityS.get(i);// <span style="color:#FF0000;">(1)</span> tempSecurityVo= querySocialSecurityS.get(i); securityId=securityVo.getCesId(); empSecurityId = String.valueOf(Helper.requestOID(CS_EMP_SECURITY).longValue()); System.out.println("securityId=="+securityId); do{//<span style="color:#FF0000;">(2)</span> securityVo= querySocialSecurityS.get(i); if(securityId.equals(securityVo.getCesId())){ //把原办理记录对应的社保公积金办理明细赋给新的办理记录 insertSecurityItemValues=new StringBuffer(""); insertSecurityItemValues.append("values('"+String.valueOf(Helper.requestOID(CS_EMP_SECURITY_ITEM).longValue())+"',") .append("'"+empSecurityId+"',").append("'"+securityVo.getProduct_id()+"',").append(securityVo.getBase()+",") .append(securityVo.getE_ratio()+",").append(securityVo.getP_ratio()+",").append(securityVo.getMoney()+",") .append(securityVo.getE_money()+",").append(securityVo.getP_money()+",").append(securityVo.getE_add_money()+",") .append(securityVo.getP_add_money()+",").append("'"+securityVo.getSecurity_product_id()+"',"); if(securityVo.getIs_join_bd()!=null){ insertSecurityItemValues.append("'"+securityVo.getIs_join_bd() +"',"); }else{ insertSecurityItemValues.append("null,"); } insertSecurityItemValues.append("'"+securityVo.getCreate_user_id()+"',") .append(" sysdate ,").append("'0',").append(securityVo.getExact_e_money()+",") .append(securityVo.getExact_p_money()+",").append(securityVo.getBase1()+",").append(securityVo.getBase_salary()+")"); tempSql=new StringBuffer(); list_sql.add(tempSql.append(insertSecurityItem).append(insertSecurityItemValues).toString()); ++i; if(i==querySocialSecurityS.size()){ break; } }else{ //同一张订单明细循环完成。 bool=false; --i; } }while(bool); bool = true ; //新增新的办理记录 insertSecurityValues=new StringBuffer("values('"+empSecurityId+"',") .append("'"+tempSecurityVo.getCompany_id()+"',").append("'"+tempSecurityVo.getEmp_post_id()+"',") .append("'"+tempSecurityVo.getCust_code()+"',").append("'"+tempSecurityVo.getCust_name()+"',") .append("'"+tempSecurityVo.getEmp_service_item_id()+"',").append("'"+tempSecurityVo.getEmp_service_id()+"',") .append("'"+tempSecurityVo.getSocial_unit_id()+"',").append("'"+tempSecurityVo.getApply_man()+"',") .append("to_date('"+UtilsDate.getDateTimesStr(tempSecurityVo.getApply_date())+"','yyyy-mm-dd,hh24:mi:ss'),"); if(tempSecurityVo.getApply_remark()!=null){ insertSecurityValues.append("'"+tempSecurityVo.getApply_remark()+"',"); }else{ insertSecurityValues.append("null,"); } insertSecurityValues.append("'"+tempSecurityVo.getTransact_man()+"',").append("to_date('"+UtilsDate.getDateTimesStr(tempSecurityVo.getTransact_date())+"','yyyy-mm-dd,hh24:mi:ss'),") .append("'"+tempSecurityVo.getTransact_type_id()+"',"); if(tempSecurityVo.getTransact_remarks()!=null){ insertSecurityValues.append("'"+tempSecurityVo.getTransact_remarks()+"',"); }else{ insertSecurityValues.append("null,"); } insertSecurityValues.append("'"+nianfen+"06',").append("null,") .append("'"+tempSecurityVo.getFund_month()+"',"); if(tempSecurityVo.getBack_reason()!=null){ insertSecurityValues.append("'"+tempSecurityVo.getBack_reason()+"',"); }else{ insertSecurityValues.append("null,"); } insertSecurityValues.append("'"+tempSecurityVo.getAgent_id()+"',").append("'"+tempSecurityVo.getSecurity_status_bd()+"',") .append("'"+tempSecurityVo.getSerial_no()+"',").append("'"+tempSecurityVo.getCreate_user_id()+"',") .append(" sysdate ,").append("'0',") .append("'"+tempSecurityVo.getSecurity_group_id()+"',").append("'"+tempSecurityVo.getEmp_account_id()+"',"); if(tempSecurityVo.getPre_id()!=null){ insertSecurityValues.append("'"+tempSecurityVo.getPre_id()+"',"); }else{ insertSecurityValues.append("null,"); } if(tempSecurityVo.getTransact_reason_bd()!=null){ insertSecurityValues.append("'"+tempSecurityVo.getTransact_reason_bd()+"' )") ; }else{ insertSecurityValues.append("null )") ; } tempSql = new StringBuffer(); list_sql.add(tempSql.append(insertSecurity).append(insertSecurityValues).toString()); //--修改原记录的结束日期、状态为停办 updateSecurity = new StringBuffer("update cs_emp_security set end_month='"+nianfen+"05',security_status_bd='5',stop_remarks='补差金额计算后调整',last_update_user_id='"+user_id+"',last_update_date=sysdate where id='"+securityId+"' "); list_sql.add(updateSecurity.toString()); }
List for循环与对象的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。