本帖最后由 qq4285855 于 2015-03-06 11:53:23 编辑

解决方案 »

  1.   

    1:你要知道java的传参方式,是值传递,修改传递的值不会影响原值
    2:java里的应用和C/C++里的引用是不同的概念,在C/C++中引用初始化之后,引用本身就无法修改了但是引用指向的内容可以修改
      

  2.   

    java是值传递,对于复合类型(比如String)它的值就是引用地址~
      

  3.   

    建议看下:http://my.oschina.net/zhdkn/blog/130044这个帖子,自己敲下代码
      

  4.   

    private void foo1() {
    String a = "dog";
    String b = a;
    b = "cat";
    }; private void foo2() {
    String a = "dog";
    setCat(a);
    }
    private static void setCat(String b) {
    b = "cat";
    }foo1和foo2的原理是一样的,都不能改变a的值。不知道这样楼主是否更容易理解。