大家都知道JAVA中只有值传递,下面看看这段代码
void method1(){
StringBuffer x=new StringBuffer("Hello");
this.change(x);
System.out.println(x);
}void int change(StringBuffer i){
i.append(" world!");
}输出结果是 Hello World! 难道这传递的不是引用吗??
void method1(){
StringBuffer x=new StringBuffer("Hello");
this.change(x);
System.out.println(x);
}void int change(StringBuffer i){
i.append(" world!");
}输出结果是 Hello World! 难道这传递的不是引用吗??
你可以这样测试一下他是否值传递,change方法改成:
void int change(StringBuffer i){
i=new StringBuffer("xxxxxx");
}
看看出了方法体后print出什么东西
LZ那传的是对象的地址
习惯了就好