SelectionCondGroup tempGroup = outboundConditionInformation.getSelectionCondGroup();
tempGroup.setSelectionCondGroupNo("1"); //为什么执行这个语句后,outboundConditionInformation中的SelectionCondGroupNo也变为"1"了outboundConditionInformation 类中有 SelectionCondGroup
调试欢乐多
public class javatest{
public static void main(String args[]){String w="1";
String ww="2";
ww=w;
ww="3";System.out.println("w="+w);
}
}
结果为w=1 而不是3啊
getSelectionCondGroup()直接返回outboundConditionInformation中的SelectionCondGroup的话就是这个效果,因为这样的tempGroup和outboundConditionInformation中的SelectionCondGroup引用的是同一个对象
public static void main(String args[]){String w="1";
String ww="2";
ww=w;
ww="3";System.out.println("w="+w);
}
}ww和w也是引用一个对象啊
String ww="2";//生成一个String引用ww,指向字符串"2"
ww=w;//把w引用指向的对象赋值给ww,这是ww跟w引用指向同一个对象"1"
ww="3";//把引用ww重新指向了字符串"3",但是w引用没有改变还是指向的"1"
System.out.println("w="+w);//输出"1"
楼主问的问题是两个引用指向同一个对象了,其中任意一个引用,修改对象的具体数值,对象值就被改变了,但是如果你把这个引用从新指向别的对象,那肯定改变不了原来对象的数据。