黑马程序员——JAVA笔记——StringBuffer和StringBuilder

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

StringBuffer是字符串缓冲区。是一个容器。

特点:

1.而且长度是可变化的。

2.可以直接操作多个数据类型。

3.最终会通过toString方法变成字符串


下面通过C create U update R read D delete四个方面分别介绍StringBuffer的常用方法。


1.存储

StringBuffer append();将制定数据添加到已有数据结尾处

StringBuffer insert(index,数据);可以将数据插入到制定index位置

	public static void method_add()
	{
		StringBuffer sb=new StringBuffer();
		
		sb.append("abc").append(true).append(34);
		System.out.println(sb.toString());//abctrue34
		StringBuffer sb1=sb.append(34);//改变自身并返回本串
		System.out.println(sb==sb1);
		sb.insert(4,"qq");//在4的位置插入
		System.out.println(sb.toString());//abctqqrue3434
		System.out.println(sb1.toString());//abctqqrue3434
	}

2.删除

StringBuffer delete(start,end);删除缓冲区数据,包含start不包含end

StringBUffer deleteCharAt(index);删除制定位置的字符。

	public static void method_del()
	{
		StringBuffer sb=new StringBuffer("abcdef");
//		sb.delete(1, 3);
//		sb.delete(0,sb.length());//清空缓冲区。
		sb.deleteCharAt(2);
		System.out.println(sb.toString());
	}

3.获取

char charAt(int index);根据角标获取字符

int indexOf(String str);根据字符串获取角标

int lastIndexOf(String str);根据字符串倒叙获取角标

int length();获取字符串长度

String subString(int start,int end);根据标start和end获取子串

	public static void method_get()
	{
		StringBuffer sb=new StringBuffer("abcdcba");
		System.out.println(sb.charAt(3));
		System.out.println(sb.indexOf("b"));
		System.out.println(sb.lastIndexOf("b"));
		System.out.println(sb.length());
		System.out.println(sb.substring(2,5));//包含头不包含尾
	}

4.修改

StringBuffer replace(start,end,str);根据标start和end修改原串

void setCharAt(int index,char ch);根据角标修改字符

	public static void method_update()
	{
		StringBuffer sb=new StringBuffer("abcde");
//		System.out.println(sb.replace(1,4,"java"));
		sb.setCharAt(2, 'k');
		System.out.println(sb);
	}
5.反转

StringBuffer reverse(); 反转自身并返回反转后的字符串。

	public static void method_reverse()
	{
		StringBuffer sb=new StringBuffer("abcde");
		System.out.println(sb.reverse());
	}

6.将缓冲区中的指定数据存储到制定字符数组中

void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin);


关于StringBuilder

JDK1.5 版本之后出现了StringBuilder

StringBuffer是线程同步。

StringBuilder是线程不同步。

该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候。
以后开发中,建议优先使用StringBuilder,因为StringBuilder与StringBuffer中方法基本相同,使用StringBuilder要快于StringBuilder。

最后提下升级的三个因素

1.提高效率。

2.简化书写。

3.提高安全性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值