黑马程序员技术交流社区
标题:
求大神指教!!!!
[打印本页]
作者:
487941230
时间:
2016-7-30 21:25
标题:
求大神指教!!!!
public class Demo {
public static void main(String[] args){
String s1 = "abc";
String s2 = "xyz";
show(s1,s2);
System.out.println(s1+"---"+s2);
String vv = "";
System.out.println("".length());
}
static void show(String s1,String s2){
s1 = s2+s1+"Q"; //XYZABCQ
s2 = "W"+s1; //WABC
}
为何打印的结果为:abc---xyz
求指教原理!!!!!!!!!!!!!!!!!!
作者:
骚动的石头
时间:
2016-7-30 21:54
你的 show(s1,s2) 只是改变了show方法里s1,s2的值 并没有传递出来
System.out.println(s1 + "---" + s2); 这一条放show方法里 结果就是xyzabcQ---WxyzabcQ了
作者:
牧风
时间:
2016-7-30 22:07
你吧show()方法的参数改成 x y 就可以理解了s1 s2 还是指向常量区的 "abc" "xyz"
作者:
黑马YJM
时间:
2016-7-30 23:00
你的方法并没有改变,s1 和s2 所指向的地址.
作者:
lynch123
时间:
2016-7-30 23:14
对,可以在String源码API中看看理解的更深。
作者:
walkk
时间:
2016-7-31 00:12
楼上说的好有道理
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2