刷题和做项目时不知道如何选择StringBUffer和StringBuilder,特地找来资料学习下。
在对字符串进行修改时,需要使用StringBuffer和StringBuilder类
- StringBuffer和StringBuilder类的对象能够被多次修改,而且不产生新的未使用对象。
- 使用StringBuffer类每次都会对StringBuffer对象本身进行操作,而不是产生新的对象,如果需要对字符串进行修改使用StringBuffer。
- StringBuilder方法不是线程安全的(不能实现同步访问)
- StringBuilder类速度比Buffer更快,多数情况下建议使用StringBuilder。
public class RunoobTest{
public static void main(String args[]){
StringBuilder sb = new StringBuilder(10);
sb.append("Runoob..");
System.out.println(sb);
sb.append("!");
System.out.println(sb);
sb.insert(8, "Java");
System.out.println(sb);
sb.delete(5,8);
System.out.println(sb);
}
}
在应用程序要求线程安全的情况下,必须使用StringBuffer类
借助String类来创建StringBuffer类对象
下面这种方法是错误的:
StringBuffer s="abc";
因为String 类和 StringBuffer 类是两个不相同的类
这里的,但是我们可以采用下面的方法进行转换:
String s="abc";
StringBuffer s5=new StringBuffer(s);