黑马程序员技术交流社区
标题:
java参数传递值
[打印本页]
作者:
loading……99.9
时间:
2013-10-11 17:00
标题:
java参数传递值
本帖最后由 loading……99.9 于 2013-10-12 11:45 编辑
public static void main(String[] args)
{
String str = "1111";
StringBuffer arg = new StringBuffer("1111");
char[]kk = {'q','w','e'};
swap(str, arg, kk);
System.out.println(str);
System.out.println(arg);
System.err.println(Arrays.toString(kk));
}
public static void swap(String str, StringBuffer arg,char[]kk)
{
str = "bbb";
arg.append(333);
kk[2] = 'w';
}
复制代码
输出结果是什么?为什么呢?
作者:
hyz123456
时间:
2013-10-11 17:16
1111 //打印str的索引
1111333 //StringBuffer将333连接到arg的末尾
[q, w, w] //kk[2] = 'w';将‘w’赋给kk[2];
作者:
赖龙威
时间:
2013-10-11 17:34
1111 //虽然str传入了swap中,但是swap内的str的指向发生了改变。主函数里面的没有
[q, w, w] //swap里面修改了引用的char[]的值,所以影响到了主函数
1111333 //修改了对象,影响到了主函数
作者:
To
时间:
2013-10-12 11:20
楼主你好,如果问题已解决请将帖子状态改为提问结束,如果未解决请继续提问,谢谢合作。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2