A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© linuxpara910829 中级黑马   /  2015-2-24 01:07  /  721 人查看  /  4 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

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;
}
}

评分

参与人数 1技术分 +1 收起 理由
万合天宜 + 1 加油哦~~

查看全部评分

4 个回复

倒序浏览
确实如你所说,很奇特!
在主函数中,是两个实参的赋值;在函数中变成了两个形参的赋值动作。而平常我们不会注意到这一点,因为基本上都是用形参给函数中的局部变量或者成员变量赋值。

C:\\Users/lenovo/Desktop/黑马blog/形参相互赋值的问题.gif


回复 使用道具 举报
图片真不好传!

形参相互赋值的问题.gif (22.34 KB, 下载次数: 4)

形参相互赋值的问题.gif

评分

参与人数 1技术分 +1 收起 理由
万合天宜 + 1 很给力!

查看全部评分

回复 使用道具 举报
谢谢楼上的   辛苦
回复 使用道具 举报
liaohongjie 来自手机 中级黑马 2015-2-24 17:41:18
报纸
这个我还没注意呢!今天学习了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马