package com.day8.StringBuffer;
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);
}
public static void change(String s) {
s+="itcast";
}
public static void change1(StringBuffer sb) {
//sb+="KG";錯誤,不能這樣寫
sb.append("KG");
}
}