Java中StringBuffer的特点及常用方法

本文详细探讨了Java中的StringBuffer类,包括其线程安全性和高效字符串操作的特点。介绍了append()、insert()、delete()、replace()等常用方法的用法,帮助开发者更好地理解和应用StringBuffer进行字符串拼接和修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
StringBuffer是字符串缓冲区
1、是一个容器,而且长度可变化。	面团理论
2、并,可以操作多个数据类型
3、最终会通过toString方法变成字符串

curd
1、添加
	StringBuffer append()
	StringBuffer insert(index,数据);可以将数据插入指定index位置
2、删除
	StringBuffer delete(start,end);
	StringBuffer deleteCharAt(index);//删除指定位置的字符
3、获取
	char charAt(index);
	int indexOf(String str);
	int lastIndexOf(String str);
	int length()
	String substring(int start,int end);
4、修改
	StringBuffer replace(start,end,str);
	void setCharAt(index,char);
5、反转
	StringBuffer reverse();
6、 void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin);包含头不包含尾

JDK1.5版本之后出现了StringBuilder
StringBuffer是线程同步,需要判断锁
StringBuilder线程不同步,效率快

升级三个因素:
1、提高效率
2、简化书写
3、提高安全性
*/
	
public class StringBufferDemo{
	public static void main(String[] args){
		//method_add();
		//method_delete();
		//method_update();
		method_srcToDst();
		
	}

public static void sop(Object obj){
		System.out.println("*****"+obj);
	}
	
public static void method_add(){
		StringBuffer sb = new StringBuffer();
		sb.append(32).append("aaa");
		sb.insert(1,"qq");
		/* StringBuffer sb2 = sb.append(34);
		sop("sb==sb2"+(sb==sb2));//*****sb==sb2true sb和sb1指向同一个对象
		sop(sb.toString());
		sop(sb2.toString()); */
		sop(sb.toString());
}
	
public static void method_delete(){
	StringBuffer sb = new StringBuffer("abcde");
	//sb.delete(1,3);
	//sb.delete(0,sb.length());
	//sb.delete(2,3);
	sb.deleteCharAt(2);
	sop(sb.toString());
	
}

public static void method_update(){
	StringBuffer sb = new StringBuffer("abcde");
	//sb.replace(1,4,"java");
	//sop(sb.toString());//*****ajavae
	sb.setCharAt(2,'k');//*****abkde
	sop(sb.toString());
	
}

public static void method_srcToDst(){
	StringBuffer src = new StringBuffer("abcdef");
	String dst = "javala";
	char[] arrs = dst.toCharArray();
	src.getChars(0,2,arrs,2);
	sop(src.toString());
	int x = 0;
	for(char ch:arrs)
		sop("arrs["+(x++)+"]=:"+ch);
		//*****arrs[0]=:j
		//*****arrs[1]=:a
		//*****arrs[2]=:a
		//*****arrs[3]=:b
		//*****arrs[4]=:l
		//*****arrs[5]=:a
	
}	

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值