当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类, 和 String 类不同的是,
StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。 由于
StringBuilder 相较于 StringBuffer 有速度优势, 所以多数情况下建议使用 StringBuilder
类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。
public class Test{
public static void main(String args[]){
StringBuffer sBuffer = new StringBuffer("菜鸟教程官网:");
sBuffer.append("www");
sBuffer.append(".runoob");
sBuffer.append(".com");
System.out.println(sBuffer);
}
}
结果:
菜鸟教程官网:www.runoob.com
StringBuffer 方法
StringBuffer 类支持的主要方法:
public StringBuffer append(String s)
将指定的字符串追加到此字符序列。public StringBuffer reverse()
将此字符序列用其反转形式取代。public delete(int start, int end)
移除此序列的子字符串中的字符。public insert(int offset, int i)
将 int 参数的字符串表示形式插入此序列中。replace(int start, int end, String str)
使用给定 String 中的字符替换此序列的子字符串中的字符。
总结:
Java 中 StringBuffer 和 String 是有一定的区别的,首先,String 长度是不可变的,就算调用 String 的
concat() 方法,那也是把字符串拼接起来并重新创建一个对象,把拼接后的 String 的值赋给新创建的对象,而
StringBuffer 的长度是可变的,调用 StringBuffer 的 append 方法,来改变 StringBuffer 的长度。
StringBuffer 线程安全,StringBuilder 线程不安全。 StringBuilder 速递快。