Java方法传值和传引用

网络整理 - 07-26

某门户网站的一道笔试题
public class Test {
 public static void stringUpd(String str) {
  str = str.replace("j", "l");
  System.out.println(str);
 } 
 public static void stringBufferUpd(StringBuffer bf) {
  bf.append("c");
  System.out.println(bf);
 } 
 public static void main(String[] args) {
  
  /**
   * 對於基本類型和字符串(特殊)是傳值
   *
   * 輸出lava,java
   */
  String s1 = new String("java");
  stringUpd(s1);
  System.out.println(s1);
  
  

  /**
   * 對於對象而言,傳的是引用,而引用指向的是同一個對象
   *
   * 輸出javac,javac
   */
  StringBuffer bb = new StringBuffer("java");
  stringBufferUpd(bb);
  System.out.println(bb);
  
 }

}