java(String和StringBuffer分別做爲參數傳遞)

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

相關文章
相關標籤/搜索