StringBuffer类的概述
我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String
对象,既耗时,又浪费空间。而StringBuffer就可以解决这个问题
线程安全的可变字符序列
StringBuffre类的常用功能
- 拼接字符串:使用
append()
方法将字符串添加到StringBuffer的末尾。
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("Hello");
stringBuffer.append(" ");
stringBuffer.append("World");
// stringBuffer现在包含"Hello World"
2插入字符串:使用insert()
方法在指定位置插入字符串。
StringBuffer stringBuffer = new StringBuffer("Hello World");
stringBuffer.insert(5, ", ");
// stringBuffer现在包含"Hello, World"
3删除字符串:使用delete()
方法删除指定范围内的字符串。
StringBuffer stringBuffer = new StringBuffer("Hello, World");
stringBuffer.delete(7, 13);
// stringBuffer现在包含"Hello"
4反转字符串:使用reverse()
方法将字符串倒置。
StringBuffer stringBuffer = new StringBuffer("Hello");
stringBuffer.reverse();
// stringBuffer现在包含"olleH"
5替换字符串:使用replace()
方法替换指定范围内的字符串。
StringBuffer stringBuffer = new StringBuffer("Hello World");
stringBuffer.replace(6, 11, "Java");
// stringBuffer现在包含"Hello Java"
6获取字符串长度:使用length()
方法获取字符串的长度。
StringBuffer stringBuffer = new StringBuffer("Hello World");
int length = stringBuffer.length();
// length的值为11
7获取指定位置的字符:使用charAt()
方法获取指定位置的字符。
StringBuffer stringBuffer = new StringBuffer("Hello World");
char ch = stringBuffer.charAt(6);
// ch的值为'W'
8转换为字符串:使用toString()
方法将StringBuffer对象转换为普通的字符串对象。
StringBuffer stringBuffer = new StringBuffer("Hello World");
String str = stringBuffer.toString();
// str的值为"Hello World"
StringBUilder及各个类的区别
StringBuilder类功能和StringBuffer功能完全一致, StringBuffer是线程
安全的。
各个类的区别:
● String:是字符常量,适用于少量的字符串操作的情况
● StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况
● StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况