package com.day8.StringBuffer;app
public class Demo7StringBuffer {對象
/**
*常見對象(String和StringBuffer分別做爲參數傳遞)
* A:形式參數問題
* String做爲參數傳遞
* StringBuffer做爲參數傳遞
* B:案例演示
* String和StringBuffer分別做爲參數傳遞問題
*( 基本數據類型的值傳遞,不改變其值
* 引用數據類型的值傳遞,改變其值
* String類雖然是引用數據類型,可是它當作參數傳遞時和基本數據類型是同樣的
* StringBuffer是引用數據類型,當作參數傳遞時改變其值)
*/
public static void main(String[] args) {
String s="KobeBryant";
change(s);
System.out.println(s);//KobeBryant,由於change()方法先加載到棧內存中,用完就彈棧,因此打印s仍是原來的s
info(s);//KobeBryantKG
StringBuffer sb=new StringBuffer("Kobe");
sb.append("Bryant");
System.out.println(sb);//KobeBryant
change1(sb);
System.out.println(sb);//KobeBryantKG
}內存
public static void info(String s1) {
s1+="KG";
System.out.println(s1);
}it
public static void change(String s) {
s+="itcast";
}
public static void change1(StringBuffer sb) {
//sb+="KG";錯誤,不能這樣寫
sb.append("KG");
}
}ast