StringBuilder概述
- String和StringBuilder的区别:
- String具有不可变性,而StringBuilder不具备
- 建议:
- 当频繁操作字符串时,使用StringBuilder
- StringBuilder和StringBuffer
- 二者基本相似
- StringBuffer是线程安全的,StringBuilder则没有,所以性能略高
StringBuilder常用方法
public class StringBuilderDemo1 {
public static void main(String[] args) {
// 定义一个字符串"你好"
StringBuilder str=new StringBuilder("你好");
//在"你好"后面添加内容,将字符串变成"你好,imooc!"
// str.append(',');
// str.append("imooc!");
//System.out.println("str="+str);
System.out.println("str="+str.append(',').append("imooc!"));
//将字符串变成"你好,iMOOC!"
//两种方式:
//1、使用delete方法删除mooc,然后在插入MOOC
//System.out.println("替换后:"+str.delete(4, 8).insert(4, "MOOC"));
//2、使用replace方法直接替换
System.out.println("替换后:"+str.replace(4, 8, "MOOC"));
//在字符串"你好,iMOOC"中取出"你好"并输出
System.out.println(str.substring(0,2));
}
}
案例总结
public class StringTest {
public static void main(String[] args) {
//定义一个字符串"欢迎来到"
StringBuilder str=new StringBuilder("欢迎来到");
//在"欢迎来到"后面添加内容,将字符串变成"欢迎来到imooc"
System.out.println(str.append("imooc"));
//使用delete方法删除"欢迎来到",然后插入“你好!”
System.out.println("插入删除后:"+str.delete(0,4).insert(0,"你好,"));
//将字符串变成“你好,imooc”
//使用replace方法替换
System.out.println("替换后:"+str.replace(0,3,"欢迎来到"));
}
}
public class StringDemo {
public static void main(String[] args) {
//定义字符串"abc"
StringBuilder str=new StringBuilder("abc");
//经过处理得到字符串"fed---cba"
System.out.println("第一次处理后:"+str.reverse().insert(0,"fed---"));
//进一步变换得到字符串"fedcba"
System.out.println("第二次处理后:"+str.delete(3,6));
}
}