JAVA不是按值传递参数吗,引用不变,但是值内容变啊为什么这个内容没有变啊该如何处理

JAVA不是按值传递参数吗,引用不变,但是值内容变啊,为什么这个内容没有变啊。publicclassTest{publicstaticv

JAVA不是按值传递参数吗,引用不变,但是值内容变啊,为什么这个内容没有变啊。
public   class   Test   {

public   static   void   main(String[]   args){

StringBuffer   b   =   new   StringBuffer( "world ");
change(b);
System.out.println(b);
}
public   static   void   change(StringBuffer   b){
b=new   StringBuffer( "hello ");

}
}

JAVA不是按值传递参数吗,引用不变,但是值内容变啊,为什么这个内容没有变啊。

[解决办法]
基础类型按值传递
其他类型按地址传递