黑马程序员技术交流社区

标题: 关于String与StringBuffer的区别 [打印本页]

作者: 小柴天雅    时间: 2017-2-28 18:28
标题: 关于String与StringBuffer的区别
tring类定义一个对象之后,这个对象的值是不可以改变的,而Stringbuffer类定义一个对象之后,这个对象的值是可以改变的。这个要怎么理解。下面是我写的一段代码

    public class StringDemo {
    //        public static void main(String[] args) {
    //        String s1="fiusiua";
    //        String s2="iurguer";
    //        s1=s1+s2;
    //        s2=s1+s2;
    //        System.out.println(s1);
    //        System.out.println(s2);
    //        }//String 在同一方法中定义String对象的值是可变的,但是如果调用下一个方法后
            //在下一方法中改变String对象的值,在这个方法中String对象的值是无法改变的。
            public static void main(String[] args){
                    String s1 = "abc";
                    String s2 = "xyz";
                    show(s1,s2);
                    System.out.println(s1+"---------"+s2);
                    }
            static void show(String s1,String s2){
             s1 = s2+s1+"Q";
         s2 = "W"+s1;
         System.out.println(s1);
         System.out.println(s2);

(复制代码)
代码中我在show方法中打印了s1和s2,发现这里的s1和s2的值是改变了。这又该怎么解释。
作者: yeluoxingye    时间: 2017-3-1 11:12
你打印的事show()方法中的s1和s2吧。





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