一.StringBuffer与String的区别,及StringBuffer的作用
String类是字符常量,切不可更改,不可删除,每次操作都将形成新的String缓存。影响效率
StringBuffer类是变量(可变字符串)可以对其修改插入删除等操作。并可以将任意类型的数据添加到Stringbuffer对象中(StringBuiler的属性与StringBuffer相同,两者区别是StringBuffer拥有线程安全性适用于多线程的操作,StringBulier适用与单线程但是效率更高)
public static void main(String[] args) {
StringBuffer stringBuffer=new StringBuffer("w");//缓冲区声明 ()中为int时初始化容量,为String初始化内容
stringBuffer.append("abce");//添加内容,类似与 string+=“abce”
stringBuffer.insert(4,"dfbcd");//插入元素,在第4位wabcdfbcde
stringBuffer.deleteCharAt(5);//删除指定位置的元素 wabcdbcde
stringBuffer.delete(5,8);//删除第5位至第8位元素 wabcde
stringBuffer.replace(0,1,"1");//将从第0位开始到第1-1位的元素替换成1abcde
stringBuffer.reverse();//翻转字符串,逆序输出 edcba1
System.out.println(stringBuffer.substring(2,4));//截取字符串 2-4位 cb
System.out.println(stringBuffer.capacity());//返回StringBuffer的容量
System.out.println(stringBuffer.toString());
}
StringBufferr存储到达上限时,StringBuffer会自动扩容。