標籤:com print 引用資料類型 錯誤 值傳遞 string類 ring stat log
package com.day8.StringBuffer;
public class Demo7StringBuffer {
/**
*常見對象(String和StringBuffer分別作為參數傳遞)
* A:形式參數問題
* String作為參數傳遞
* StringBuffer作為參數傳遞
* B:案例示範
* String和StringBuffer分別作為參數傳遞問題
*( 基礎資料型別 (Elementary Data Type)的值傳遞,不改變其值
* 引用資料類型的值傳遞,改變其值
* String類雖然是引用資料類型,但是它當做參數傳遞時和基礎資料型別 (Elementary Data Type)是一樣的
* 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");
}
}
java(String和StringBuffer分別作為參數傳遞)