String作为函数参数时,传入的是值,不是地址

写个小程序试下:

public class Example {

    String str = new String("good");

    char[] ch = { 'a', 'b', 'c' };

    public static void main(String args[]) {

        Example ex = new Example();

        ex.change(ex.str, ex.ch);

        System.out.print(ex.str + " and ");

        System.out.print(ex.ch);

    }

    public void change(String str, char ch[]) {

        System.out.println("str:"+str+", ch:"+ch);
        str = "test ok";

        ch[0] = 'g';

    }
}

运行结果:

str:good, ch:[C@de6ced
good and gbc

posted @ 2016-04-24 16:22  trypretty  阅读(764)  评论(0)    收藏  举报