首先看代码:
public class Main{
public static void main(String[] args) {
String s = new String("Hello");
char[] c = {'a','b','c'};
Main m = new Main();
m.change(s, c);
System.out.println(s);
System.out.println(c);
}
public void change(String str, char ch[]){
str="test ok";
ch[0]='g';
}
}
在change( )函数中,分别以str和char[] 作为参数。
最后输出的结果为: Hello gbc
可见当以char【】作为参数传递时,是把地址传过来了,因此改变了原来的值。
(在易宝支付笔试中的题目)