String和StringBuffer分别作为参数传递注意项

  public staticvoid main(){

  String s1 = "abc";

  StringBuffer sb = new StringBuffer();

  sb.append("hello");

  test(s1);

  System.out.println(s1);//这里输出的还是abc,因为传入的参数s1和方法里面的是2个不同的对象.

  test(sb);

  System.out.println(sb);//这里输出的还是abcdef,因为传入的参数sb方法里面的是2个相同的对象.(都是在操作同一个对象)

}

  public static void test(String s){

  s+="def";  

}  

  

  public static void test(StringBuffer sb){

  sb.append("def");  

}  

原文地址:https://www.cnblogs.com/blue-crystal/p/7586985.html