黑马程序员技术交流社区

标题: StringBuilder没搞懂的求解 [打印本页]

作者: 魏志锋    时间: 2014-9-10 12:50
标题: StringBuilder没搞懂的求解
public class StringBuilderTest {
        public static void main(String[] args) {

                StringBuilder s1 = new StringBuilder("hello");
                StringBuilder s2 = new StringBuilder("java");
               
                show(s1,s2);
               
                System.out.println(s1+"......."+s2);//hellojava.......java
               
        }

        private static void show(StringBuilder s1, StringBuilder s2) {
                char[] chs ={'a','c','d','f'};
                s1.append(s2);
                s1 = s2;
                System.out.println(s1);//java
                System.out.println(s2);//java
                System.out.println(s1+"......."+s2);//java.......java
        }
       
}
作者: fantacyleo    时间: 2014-9-10 12:57
你的问题是什么?
作者: 魏志锋    时间: 2014-9-10 20:42
fantacyleo 发表于 2014-9-10 12:57
你的问题是什么?

运行结果写在后面,为什么主函数和show方法的结果不一样
作者: 魏志锋    时间: 2014-9-10 20:45
百度了好多关于Sbuilder和Sbuffer,String的特点的内容,还是搞不懂main方法和show方法里的内容为何会不同
作者: fantacyleo    时间: 2014-9-10 21:04





作者: 曾小贤OL    时间: 2014-9-10 21:04
show 方法里面的只是参数不是StringgBuilder缓冲区好像
作者: 谢建平    时间: 2014-9-11 04:12
看到那图是明白了 不过很担心以后不小心  也出现这情况
作者: bullfrog    时间: 2014-9-11 07:12
学习了。
作者: 李春丽    时间: 2014-9-11 08:17
只要确定 s1 = s2; 这句中的 = 赋值的不是s2的内容,而是s2的地址,就很好理解了。




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