StringBuffer和StringBuilder
StringBuffer、StringBuilder和String的区别
String:一旦创建就不会更改,如果字符串改变都会创建一个新的字符串(字符串常量)
String s1 = "hello world";
String s2 = s1.substring(0,6);
System.out.println(s1); //hello world
System.out.println(s2); //hello
StringBuffer和StringBuilder:在原有的对象中进行修改
区别:如果字符串经常变化,用这两个,否则用String
StringBuffer stringBuffer = new StringBuffer("hello");
stringBuffer.append(" world");
System.out.println(stringBuffer);//hello world
//直接在原来的字符串的基础上改了,没有返回值
StringBuilder stringBuilder = new StringBuilder("你");
stringBuilder.append("好");
System.out.println(stringBuilder); //你好
StringBuffer和StringBuilder的区别
StringBuffer类有同步关键字synchronized:线程安全
StringBuilder类没有同步关键字synchronized:线程不安全
StringBuffer类的常用方法
- append(Object obj) 字符串连接
- delete(int start,int end) 字符串删除(包含start,不包含end)
- insert(int offset,Object obj) 字符串插入
- reverse()字符串逆序
- toString() 转换为String对象