zhangyunyue 2014-08-06 02:05
浏览 11506

Java遍历对象数组遇到问题

List listResults=....;
EquipmentGroupJoinVO[] eqvo = new EquipmentGroupJoinVO[listsize];
eqvo = listResults.toArray(eqvo);
List vmresult = .....;
//获得关系前先清除上次结果,将集合关系获取放在循环外面减少数据库操作次数
listconns.clear();
listconns = this._eqGroupmanager.searchGuaConnections();
for(int m = 0 ; m<eqvo.length; m++){

 Vector<UserVmVO> tempvms = new Vector<UserVmVO>();
 tempvms.clear();

 for(int i=0;i<vmresult.size();i++){

     UserVmVO vmvo = new UserVmVO();
     vmvo= vmresult.get(i);

    //"0" 表示与当前指定设备组已经绑定;“1”表示未与任何设备组有关联,可以被分配;“-1” 表示已经被分配到其他设备组
     System.out.println("groupID:"+eqvo[m].getId());

     String res = CheckifIngroup(vmvo, eqvo[m].getId(),listconns);

     if(res.equals("0")){
         vmvo.setSelected("true");
     }else{
         vmvo.setSelected("false");
     }

    tempvms.add(vmvo);

 }
//将设备信息作为child保存在设备组中
  eqvo[m].childs.clear();
  eqvo[m].childs = tempvms;


  //结果正确(最后一次打印时的值为true)
System.out.println(m+"---<--m-"+"eqvonew :   "+eqvo[m].getChilds().get(0).getSelected());

}

//重新遍历eqvo,发现所有eqvo对象下的childs集合中的对象UserVmVO的属性selected的值都为true?????
for(int h=0;h<eqvo.length;h++){
//结果错误
System.out.println("\n\n"+h+"---<--m-"+"eqvonew : "+eqvo[h].getChilds().get(0).getSelected());
}

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥20 腾讯企业邮箱邮件可以恢复么
    • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
    • ¥15 错误 LNK2001 无法解析的外部符号
    • ¥50 安装pyaudiokits失败
    • ¥15 计组这些题应该咋做呀
    • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
    • ¥15 让node服务器有自动加载文件的功能
    • ¥15 jmeter脚本回放有的是对的有的是错的
    • ¥15 r语言蛋白组学相关问题
    • ¥15 Python时间序列如何拟合疏系数模型