2 zhangyunyue zhangyunyue 于 2014.08.06 10:05 提问

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());
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Java遍历数组对象的方式
本人总结有三:估计还有很多,只是感觉这几个比较常用而已!!欢迎大家在文章下面讨论: 代码不做解释 要明白编写的代码在电脑中是怎么储存的。以本代码为例:首先你要知道你执行实例  例如stu[0]=new Student("张三", 18);,这样是在堆空间里面创建一个Student空间里面存放各种属性,而stu[0]储存的是指向这个空间的一个地址。所以遍历出来就是这个地址;又如Stu
java之对象数组
好长时间没有看Java,简直忘得一干二净。。。。。。好吧,言归正传,这次犯得错是对象数组元素的逐个实例化。原本以为在创建完对象数组后就完事了,元素也会自动创建,结果遍历数组后显示为null,并报空指针异常。 实例代码: class student{ private string name; public student(string name){this.name=name;}
JavaScript中如何遍历对象数组
我们知道在javaScript中可以定义一类特殊的‘数组'——对象数组 var point = {x:0,y:0}  var john={"name":"john","sex":"meal","height":"168","weight":"52"}; 想要获得对象中的值,我们只需要var name=john.name即可。但是如果我们想迅速遍历一遍对象获取里面的值怎么办?对于普通数组我们
js对象数组遍历
前言:最近由于项目需求,新增了一个行程搜索结果页,搜索的关键字需要高亮。且从搜索结果页进入原来的行程详情页,原来详情页中的关键字也同样需要做高亮处理。由于详情页是之前做好的,页面渲染用的是underscore模板。一个页面中大大小小的模板有很多,为了避免麻烦和便于管理。我决定不对原有的模板结构进行修改,直接将从服务端的数据进行过滤一遍,然后对需要高亮的关键字进行数据替换。随意会增加页面初始渲染时间
for in 循环遍历对象和数组
用for循环进行遍历时,如果是对象,则 i 代表的是属性,如果是数组,则代表的是“键”; 用这种方法可以实现对对象和数组的遍历。示例:var obj = {aaa:'a123',bbb:'b123'}; for (var i in obj) { console.log(i); // aaa bbb console.lo
java学习之路 之 面向对象编程-面向对象-数组练习题(1)
public class ArrayTest { //运用数组打印输出10-50 public static void main(String[] args) { int[] arr = new int[5]; // 有效下标是0~长度-1 arr[0] = 10; arr[1] = 20; arr[2] = 30; arr[3] = 40; arr[4] = 50;
dom对象数组与jQuery对象数组的遍历方式
html代码: body> span class="name">11span>br> span class="name">22span>br> span class="name">33span>br> span class="name">44span>br> input type="button" id="in"> body> (一)dom对
java 对象数组(增删改查)
package com.vince.lei; import java.util.Arrays; import org.omg.CORBA.PUBLIC_MEMBER; public class DuiXiangShuZuDemo { // 对象数组:数组中的每个元素都是类的对象,赋值时先定义对象,然后将对象直接赋给数组 /** * @param args */
for...in用于遍历数组或者对象的属性
for…in 用于遍历数组或者对象的属性 语法:for( 变量 in 对象 ){ //在此执行代码 } for( i in obj ){ //在此执行代码 }代码实例:var obj = { 'aa': 1,'bb':3,'cc':5}; for( i in obj ){ console.log(i); //属性 aa bb cc console.log(obj[i
Java遍历集合、数组的四种方法
import java.util.ArrayList; import java.util.Iterator; import java.util.List; /**  * 遍历数组四种方法  *  * @author JRunner  *  * 2009-10-26  *  * Email: JRunner@126.com  */ class Test {  /**