黑马程序员技术交流社区
标题:
字符串的疑问
[打印本页]
作者:
linuxpara910829
时间:
2015-2-24 01:07
标题:
字符串的疑问
package lingxingtest;
class Test{
public static void main(String[] args) {
String s1 = "java";
String s2 = "hello";
// s1=s2;//s2的引用赋给了s1,s1指向了s2的对象,所以输出的是s2的内容
// System.out.println(s1+"...."+s2); //java....hello
method_1(s1,s2);
System.out.println(s1+"...."+s2); //java....hello
StringBuilder s11 = new StringBuilder("java");
StringBuilder s22 = new StringBuilder("hello");
method_2(s11,s22);
System.out.println(s11+"-----"+s22); //javahello-----hello
}
public static void method_1(String s1,String s2){
s1.replace('a','k');//创建了字符串对象,但没有引用。
s1 = s2;//同主函数的道理是一样的,为什么输出的s1还是Java?
}
public static void method_2(StringBuilder s1,StringBuilder s2){
s1.append(s2);
s1 = s2;
}
}
作者:
sofeel
时间:
2015-2-24 05:21
确实如你所说,很奇特!
在主函数中,是两个实参的赋值;在函数中变成了两个形参的赋值动作。而平常我们不会注意到这一点,因为基本上都是用形参给函数中的局部变量或者成员变量赋值。
C:\\Users/lenovo/Desktop/黑马blog/形参相互赋值的问题.gif
作者:
sofeel
时间:
2015-2-24 05:23
图片真不好传!
形参相互赋值的问题.gif
(22.34 KB, 下载次数: 4)
下载附件
2015-2-24 05:23 上传
作者:
linuxpara910829
时间:
2015-2-24 17:22
谢谢楼上的 辛苦
作者:
liaohongjie
时间:
2015-2-24 17:41
这个我还没注意呢!今天学习了!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2