欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

StringBuffer和StringBuilder和String的区别

程序员文章站 2024-03-23 14:24:40
...

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类可以作为引用数据类型