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[]){
str="test ok";
ch[0]='g';
}
}
运行结果 为什么是: good and gbc
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[]){
str="test ok";
ch[0]='g';
}
}
运行结果 为什么是: good and gbc
http://blog.csdn.net/faintbear/archive/2004/11/29/198021.aspx
str="test ok"; 给String变量赋值相当于重新创建了一个String对象,与传入进来的对象没关系了。不会改变原变量的值。
ch[0]='g'; char[]数组也是引用类型,指向与传入进来的ch相同的空间,ch[0]是基本数据类型,是值传递。
}