StringBuffer是jdk1.0版本的,是线程安全的,效率低
StringBuilder是jdk1.5版本的,是线程不安全的,效率高
String是一个不可变的字符序列,StringBufffer和StringBuilder都是可变的字符序列
...........................................................................................。。。。。。。。。。。。。。。。。。。。。。。
String和StringBuffer分别作为参数传递
package com.heima.stringbuffer; /* * 形式参数问题 * String作为参数传递 * StringBuffer作为参数传递 * * * 基本数据类型的值传递,不改变其值 * 引用数据类型的值传递,改变其值 * */ public class demo_StringBuffer { public static void main(String[] args) { String s="heima"; System.out.println(s); chang(s);//按住ctrl+1自动生成方法 System.out.println(s);//前后两个打印出来都是heima,为什么 //String类虽然是引用数据类型,但是他当作参数传递时和基本数据类型时一样的 StringBuffer sb=new StringBuffer("baima"); System.out.println(sb); change2(sb); System.out.println(sb);//这样就能改变了 } public static void change2(StringBuffer sb) { sb.append("heima"); } public static void chang(String s) { s+="itcast"; } }String类虽然是引用数据类型,但是他当作参数传递时和基本数据类型时一样的
但是StringBuffer类可以作为引用数据类型