StringBuffer,StringBuilder

StringBuffer:可变字符串

string的增强版。字符串缓冲区类(线程安全)
对字符串频繁修改时,使用StringBuffer类可以大大提高程序执行效率
String的基本方法StringBuffer都有,下面添加一些StringBuffer特有的方法。

String与StringBuffer的互转

String类型转换成StringBuffer类型:

如 StringBuffer sb=new StringBuffer(“aaa”);

StringBuffer类型转换成 String类型:

 如sb.toString();

字符串追加方法“.append()”(与concat()方法的区别)

//字符串追加方法
public static void main(String[] args) {
	//字符串追加 
	String sb1="jsajdej";
	String sbb1=sb1.concat("kads");
	//判断sb1==sbb1是否相等;结果为falsse 
	
	//可知:使用concat()方法追加后是在堆中从新分配了空间存储,两者是不同的
	System.out.println(sb1==sbb1);
	System.out.println("追加前:"+sb1);
	System.out.println("追加后:"+sbb1);
	System.out.println("*******************");

	//创建StringBuffer对象
	StringBuffer sb=new StringBuffer("adadad");

	//StringBuffer追加
	StringBuffer sb2=sb.append("kkk");

	//判断sb==sb2是否相等;结果为true
	//可知:使用StringBuffer追加后是在以前的空间中直接加入,两者是相同的
	System.out.println(sb==sb2);
	System.out.println("追加前:"+sb);
	System.out.println("追加后:"+sb2);
}

运行结果:
在这里插入图片描述
有结果可知:

  1. String类的追加方法concat()是新开辟空间然后在追加;
  2. 而StringBuffer类的追加方法append()是在原空间里的字符串上加,地址不变。

字符串插入方法“.insert()”

//字符串插入方法:insert()
public static void main(String[] args) {
	StringBuffer str=new StringBuffer("123456789");
	//每三个数插入一个逗号
	for (int i =str.length()-3; i >0; i=i-3) {
		str=str.insert(i, ",");
	}
	System.out.println(str);
}

运行结果
在这里插入图片描述

字符串反转方法”.reverse()”

//字符串反转:使用reverse()方法
public static void main(String[] args) {	
	StringBuffer str=new StringBuffer("abcdefg");
	StringBuffer str1=str.reverse();
	System.out.println("反转后为:"+str1);
 }
}

运行结果:
在这里插入图片描述

StringBuilder:是一个可变字符串

字符串缓冲区类(非线程安全)
成员方法:

  1. public int capacity();//返回当前容量
  2. public int length();//返回字符串长度
  3. 同样有append()方法和reverse()方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值