@[toc](StringBuilder sb = new StringBuilder()😉
//创建一个stringbuilder 对象
StringBuilder sb = new StringBuilder();//"";构建的是一个空字符串
//构建一个内容为 abc 的stringbuilder 对象
//如何将一个字符串转成 StringBuilder
sb = new StringBuilder("abc");
//创建一个stringbuilder 对象的基础上再进行构建使用
StringBuilder sb2 = new StringBuilder(sb);
System.out.println(sb.length());
System.out.println(sb2);
方法如下:
substring()
截取字符串
append()
追加内容
insert()
在指定位置添加内容
replace(start, end, str)
将start - end位置的字符串替换为 str
delete(start, end)
删除 区间内的字符串
deleteCharAt(index)
删除指定索引对应的字符串
indexOf / lastIndexOf
获取某个字符串的索引位置
reverse()
反转字符串
substring(start , end)
截取字符串、返回String
isEmpty()
判断是否为空
length()
获取字符串长度
toString()
转字符串
StringBuilder sb = new StringBuilder();
sb.append("hello");
sb.append("world");
System.out.println(sb);
//结果:helloworld
主要就是使用它的append的方法。
indexOf方法
indexOf(String str)
返回指数在这个字符串指定的子字符串中第一个出现的。
int indexOf(String str, int fromIndex)
返回此字符串的指定子字符串中第一个出现在索引中,从指定索引处开始。
StringBuilder sb = new StringBuilder();
sb.append("hello");
sb.append("world");
//查找字符串中 he 这个字符串出现的次数
int count = 0,index = -1 ;
while (true){
index = sb.indexOf("he",index + 1);
if (index == -1)break;
count ++;
}
System.out.println(count);
reverse() 方法
反转字符串(断除法的使用就是)
String tset = "abc";
System.out.println(new StringBuilder(tset).reverse().toString());
StringBuilder和StringBuffer区别
StringBuilder不安全的实例用于多个线程。如果需要同步然后建议StringBuffer可用。
StringBuffer 用法和 StringBuilder 用法一样
StringBuffer 是线程安全的,速度比较慢,会产生阻塞的问题
StringBuilder 是线程不安全的,在多线程环境下,使用的时候需要注意,速度比 StringBuffer 快(平常更多使用StringBuilder)