SelectionCondGroup tempGroup = outboundConditionInformation.getSelectionCondGroup();
            tempGroup.setSelectionCondGroupNo("1");  //为什么执行这个语句后,outboundConditionInformation中的SelectionCondGroupNo也变为"1"了outboundConditionInformation 类中有 SelectionCondGroup 

解决方案 »

  1.   

    tempGroup 就是 : outboundConditionInformation中的SelectionCondGroup的应用
      

  2.   


    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啊
      

  3.   

    SelectionCondGroup tempGroup = outboundConditionInformation.getSelectionCondGroup();
    getSelectionCondGroup()直接返回outboundConditionInformation中的SelectionCondGroup的话就是这个效果,因为这样的tempGroup和outboundConditionInformation中的SelectionCondGroup引用的是同一个对象
      

  4.   

    public class javatest{
        public static void main(String args[]){String w="1";
    String ww="2";
    ww=w;
    ww="3";System.out.println("w="+w);
        }
    }ww和w也是引用一个对象啊
      

  5.   

    楼主显然对引用认识有误区。String w="1";//生成一个String引用w,指向字符串"1"
    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"
    楼主问的问题是两个引用指向同一个对象了,其中任意一个引用,修改对象的具体数值,对象值就被改变了,但是如果你把这个引用从新指向别的对象,那肯定改变不了原来对象的数据。