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

相关文章
相关标签/搜索