【蓝桥杯】Java组必备API类 --String StringBuffer 以及StringBuilder

在这里插入图片描述

String类

String类作为不可修改的对象,如果用String修改字符串会新建一个String对象,如果频繁修改,则会产生很多String对象,会产生很大的开销,效率也不是很高

提供了字符串的比较,查找,截取,大小写转换等操作

String类被final所修饰,不能被继承

//构造方法
String()构造空串

String(String)构造为String的串

String(Byte[],offset,length)  //用byte子数组构造String

String(char[])  //构造一个内容为char[]的字符串

String(char[],offset,count)  //取char[]的子数组
//常用方法

String.length()  //求长度

String.substring(begin)  //从begin处截取字串

String.substring(begin,end)  //从[begin,end)处截取字串

String.startwith(String)  //是否以该字串开始

String.endwith(String)  //是否以该字串结束

String.toString()  //返回该字符串本身

String.equals(String)  //比较相等

String.equalsIgnoreCase(String)  //比较是否相等,忽略大小写

StringBuffer类和StringBulider类(字符串缓冲区)

StringBuffer类(StringBuilder类同理,下同)作为可以修改的对象,如果是构造一个需要改变的String的话建议先使用StringBuffer,当String类不需要改变的时候再将其转换到String类

StringBuffer底层维护了一个字符数组,存储字符时实际上时往该字符数组中存储,初始化容量为16,当容量不够用时,自动增长一倍

StringBuffer类也具有String类的方法

//构造方法
string=stringBuffer.toString();  //将stringBuffer类转换为String类

stringBuffer()  //空stringBuffer串

stringBuffer(String)  //一个内容为String的stringBuffer类
//常用方法

stringBuffer.append(String)  //增加到字符串末尾

stringBuffer.append(char)
    
stringBuffer.length()  //返回长度
    
stringBuffer.replace(start, end, str) //从Start到end区间被str替代 
    
stringBuffer.reverse()  //反转形式取代

stringBuffer.insert(i,String)  //在i后插入String串

stringBuffer.delete(start,end)  //删除[start,end)处的字串

stringBuffer.indexOf(String)  //返回字串的第一次索引

stringBuffer.indexOf(String,fromIndex)  //返回从fromIndex处开始的第一次索引

stringBuffer.charAt(index)  //返回这个索引下的序列值
    
stringBuffer.setCharAt(index, char)  //将下标为index的值修改为char

StringBuffer与StringBuilder的区别

StringBuffer类所提供的方法都是同步的方法,属于安全的线程操作

StringBuilder类中的大多方法都是异步方法,属于线程安全的操作

如果多线程环境下涉及到大量修改的操作的话,则首先选择StringBuffer

如果非多线程环境下涉及到大量修改的操作的话,则首先选择StringBuilder

总的来说,执行速度的比较 StringBuilder>StringBuffer>String
蓝桥杯比赛最好用StringBuilder先构造,最后直接StringBuilder.toString()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值