(一)StringBuffer的使用
- StringBuffer的字符串拼接方法
public synchronize StringBuffer append(任意数据类型 sb)
StringBuffer的append()方法可以任意修改字符串的内容。
举例:
public class StringBuffer的使用 {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
sb.append("hello");
sb.append(" ");
sb.append("world");
System.out.println(sb);
}
}
2. StringBuffer 与 String 的相互转换
(1)String -> StringBuffer
a. 调用append方法
b. 使用StringBuffer 的构造方法 new StringBuffer();
(2)StringBuffer -> String
调用StringBuffer 的toString()方法
3. StringBuffer 的常用操作方法
(1)字符串反转
reverse():
返回值类型:StringBuffer
(2)删除指定范围的数据
delete(int start,int end)
返回值类型:StringBuffer
(3)修改指定范围的数据
insert(int offset,任意数据类型)
返回值类型:StringBuffer
举例:
public class StringBuffer的使用 {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("hello world!");
//反转字符串
System.out.println("反转之前的字符串为:"+sb);
StringBuffer sb1 = sb.reverse();
System.out.println("反转之后的字符串为:"+sb1);
System.out.println("---------------");
//删除指定范围的字符串
StringBuffer sb2 = sb.delete(2,5);
System.out.println("删除下标为2-5的元素之后的字符串为:"+sb2);
System.out.println("---------------");
//在指定位置插入字符串
StringBuffer sb3 = sb.insert(2,"China");
System.out.println("在下标为2 的位置插入字符串 China 之后的字符串为:"+sb3);
}
}
(二)请解释String 和 StringBuffer,StringBuilder之间的区别:
- String内容不可变,两只sb内容可以改变
- StringBuffer (JDK1.0),采用同步处理,线程安全,效率较低
- StringBuilder(JDK1.5),采用异步处理,线程不安全,效率较高,当在String对象进行“+”,编译 时会将String类变为StringBuilder进行append()处理。