黑马程序员技术交流社区

标题: 关于字符串String的问题 [打印本页]

作者: kemllor    时间: 2015-8-30 12:42
标题: 关于字符串String的问题
  1. class  Test{
  2.         public static void main(String[] args) {
  3.                 String s1 = "java";
  4.                 String s2 = "hello";
  5.                 method_1(s1,s2);
  6.                 System.out.println(s1+"...."+s2);
  7.                 //java....hello
  8.                
  9.                 StringBuilder s11 = new StringBuilder("java");
  10.                 StringBuilder s22 = new StringBuilder("hello");
  11.                 method_2(s11,s22);
  12.                 System.out.println(s11+"-----"+s22); //javahello-----hello
  13.         }
  14.         public static void method_1(String s1,String s2){
  15.                 s1.replace('a','k');
  16.                 s1 = s2;
  17.         }
  18.         public static void method_2(StringBuilder s1,StringBuilder s2){
  19.                 s1.append(s2);
  20.                 s1 = s2;
  21.         }
复制代码


在方法1和2中 都有s1=s2; 为什么输出结果没变。
我把方法1中的s1=s2;直接写到主函数中,结果发生变化。 有点蒙,求解
  1. public static void main(String[] args) {
  2.                 String s1 = "java";
  3.                 String s2 = "hello";
  4.                 s1.replace('a','k');
  5.                 s1 = s2;
  6. //                method_1(s1,s2);
  7.                 System.out.println(s1+"...."+s2);
  8.                 //hello....hello
复制代码

作者: 我来了    时间: 2015-8-30 12:46
还没学到,不过快了,等学到了再回复




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2