說下string和stringbuffer的差別。

/***
* 修改stringbuffer 的内容
* @param sb
* @param drift
*/
public static void modifystringbuffer(stringbuffer sb,int drift){
sb. setlength(0);//清空stringbuffer
sb.append(drift);
}
@test
public void test_modifystringbuffer(){
stringbuffer sb=new stringbuffer();
sb.append("whuang");
system.out.println("old value:\t"+sb.tostring());
modifystringbuffer(sb, 3);
system.out.println("new value:\t"+sb.tostring());
運作結果:
old value:whuang
new value:3

* 修改string的内容
* @param string
public static void modifystring(string string,int drift){
string =string.valueof(drift);
@test
public void test_modifystring(){
string string=new string("abc");
system.out.println("old value:\t"+string.tostring());
modifystring(string, 3);
system.out.println("new value:\t"+string.tostring());
運作結果如下:
old value:abc
new value:abc
總結:string的值是不能修改的,stringbuffer的值是可以修改的,即修改stringbuffer的值之後仍然是原來的對象。