String StringBuffer StringBuild作为参数传递

public static void main(String[] args) {

        String s1 = "hello";
        String s2 = "world";
        System.out.println(s1 + "---" + s2);// hello---world
        change(s1, s2);
        System.out.println(s1 + "---" + s2);// hello---world


        StringBuffer sb1=new StringBuffer("hello");
        StringBuffer sb2=new StringBuffer("world");
        System.out.println(sb1+"======="+sb2);
        change(sb1,sb2);
        System.out.println(sb1+"==========="+sb2);
        
    }
    private static void change(StringBuffer sb1, StringBuffer sb2) {
        sb1=sb2;
        sb2.append(sb1);
        
    }

public static void change(String s1, String s2) {
        s1 = s2;
        s2 = s1 + s2;
    }

 结果为: hello  world  

             hello worldworld

结论:基本类型:形式参数的改变不影响实际参数
        引用类型:形式参数的改变直接影响实际参数

注意:
         String作为参数传递,效果和基本类型作为参数传递是一样的。

原文地址:https://www.cnblogs.com/shaoyang/p/5417868.html