Java--StringBuffer与StringBuilder类

StringBuffer与StringBuilder的区别

  • StringBuffer支持并发操作,适合多线程使用。
  • StringBuilder不支持并发操作,不适合多线程使用。
  • StringBuilder不是线程安全的(不能同步访问),但其在单线程中的性能优于StringBuffer,因此若针对单线程运行的程序或者是不需要考虑线程同步问题的程序,优先考虑StringBuilder,若需要保证线程安全,则使用StringBuffer。

StringBuffer的常用方法

方法方法描述
append(…)将指定字符(串)追加到序列中
insert(int offset,…)将指定字符(串)插入到序列中
capacity()返回当前容量
length()返回序列长度(字符数)
charAt(inr index)返回指定索引处的char值
delete(int start,int end)删除索引在[a,b)范围内的所有字符
deleteCharAt(int index)删除指定索引处的字符
indexOf(String str)返回指定子字符串第一次出现的索引
indexOf(String str,int fromIndex)从指定索引处开始,返回指定子字符串第一次出现的索引
lastIndexOf(String str)返回指定子字符串最后一次出现的索引
lastIndexOf(String str,int fromIndex)从指定索引处开始向后搜索,返回指定子字符串最后一次出现的索引
replace(int start,int end,String str)使用指定的字符串替换序列中指定范围内的字符
reverse()反转序列
StringBuffer stringBuffer = new StringBuffer();//构建一个字符串缓冲区,其中没有字符,初始容量为16个字符
stringBuffer.append("abc");//stringBuffer:abc
stringBuffer.insert(2,"11");//stringBuffer:ab11c
int capacity=stringBuffer.capacity();//capacity:16
int length=stringBuffer.length();//length:5
char ch=stringBuffer.charAt(0);//ch:a
stringBuffer.deleteCharAt(0);//stringBuffer:b11c
stringBuffer.delete(0,1);//stringBuffer:11c
int firstIndex=stringBuffer.indexOf("1");//firstIndex:0
int lastIndex=stringBuffer.lastIndexOf("1");//lastIndex:1
stringBuffer.replace(0,2,"ah");//stringBuffer:ahc
stringBuffer.reverse();//stringBuffer:cha

StringBuilder的常用方法

StringBuilder类提供与StringBuffer兼容的API。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值