遇见一道与参数传递有关的题,然后一不小心就做错了,还是自己理解的不够到位。在这里记下,并说说自己的理解。希望能够提升自己帮助他人。望指出错误和不足之处。
首先看下题目,源码如下:
public class Example{
String str = new String("good");
char[] ch = {'a','b','c'};
public static void main(String[] args){
Example e = new Example();
e.change(e.str,e.ch);
System.out.print(e.str+" and ");
System.out.print(e.ch);
}
public void change(String str,char[] ch){
str = "bad";
ch[0] ='g';
}
}
正确的输出结果为:good and gbc