String、StringBuffer和StringBuilder的常用方法

String 的常用方法


1、s1.length() 获取字符串的长度
2、s1.charAt() 获取字符串中指定索引的字符
3、s1.isEmpty() 判断字符串是否为空
4、s1.toLowerCase() 将字符串中所有大写字母转换为小写
5、s1.toUpperCase() 将字符串中所有小写字母转换为大写
6、s1.trim() 返回删除字符串中前后空格后新的字符串
7、s1.equals() 判断两个字符串是否相等
8、s1.equalsIgnoreCase() 忽略大小写的情况下判断两个字符串是否相等
9、s1.concat() 做字符串的拼接,相当于 ”+“
10、s1.substring() 从指定索引处开始截取字符串,直到末尾
11、s1.substring(index1, index2) 采用 包含索引1,不包含索引2 形式的截取字符串
12、s1.endsWith() 判断字符串是否以指定的后缀结束
13、s1.startsWith() 判断字符串是否以指定的前缀开始
14、s1.contains() 当且仅当此字符串包含指定的char值序列时,返回true
15、s1.indexOf() 返回指定子字符串在此字符串中第一次出现处的索引,未找到返回 -1
16、s1.lastIndexOf() 返回指定子字符串在此字符串中最右边出现处的索引,未找到返回 -1
17、s1.replace(char oldChar, char newChar) 返回一个经过替换后新的字符串
18、s1.matches(String regex) 判断此字符串是否匹配给定的正则表达式

StringBuffer 与 StringBuilder 的常用方法


1、sb.append() 提供了append()方法,用于进行字符串的拼接
2、sb.delete(int start, int end) 删除指定位置的内容
3、sb.replace(int start, int end, String str) 把 [start, end) 位置替换为 str
4、sb.insert(int offset, str) 在指定位置插入 xxx,插入位置在 offset 前边
5、sb.reverse() 把当前字符序列逆转 

String、StringBuffer 与 StringBuilder 之间转换

String str = "Hello";
StringBuffer sbf = new StringBuffer(str);  // String 转换成 StringBuffer
StringBuilder sbd = new StringBuilder(str); // String 转换成 StringBuilder

str = sbf.toString();  // StringBuffer 转换成 String
str = sbd.toString();  // StringBuilder 转换成 String

// StringBuffer 转换成 StringBuilder
StringBuilder bufferToBuilder = new StringBuilder(sbf.toString);
// StringBuilder 转换成 StringBuffer
StringBuffer builderToBuffer = new StringBuffer(sbd.toString);

小结

  • StringBuffer 每次获取 toString 都会直接使用缓存区的 toStringCache 值来构造一个字符串
  • StringBuilder 则每次都需要复制一次字符数组,再构造一个字符串
  • StringBuffer 是线程安全的,它的所有公开方法都是同步的,StringBuilder 没有对方法加锁同步,所以StringBuilder 的性能要远大于 StringBuffer

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值