DurantYYDS

StringBuffer和StringBuilder的区别

为什么要使用StringBuffer和StringBuilder?

当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。

和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。

StringBuffer和StringBuilder的区别:

StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。

StringBuilder:

package String;
public class Stringbuilder{
public static void main(String args[]) {
StringBuilder sb = new StringBuilder(13);
sb.append("welcome");
System.out.println(sb);
sb.append("to");
System.out.println(sb);
sb.insert(7," ");
System.out.println(sb);
sb.delete(3,5);
System.out.println(sb);
}
}
实验结果:

welcome
welcometo
welcome to
welme to

StringBuffer:

package String;

public class Stringbuffer {
public static void main(String[] args) {
StringBuffer stringBuffer = new StringBuffer("华东交通大学");
//append方法:将字符追加到此字符序列
stringBuffer.append("是一所以交通为特色");
stringBuffer.append("轨道为核心");
stringBuffer.append("多学科协调发展的教学型研究大学");
System.out.println(stringBuffer);
//reverse方法:将字符序列反转的方式取代
stringBuffer.reverse();
System.out.println(stringBuffer);
//delete(int start,int end)方法:移除此序列的字符串中的字符,
stringBuffer.reverse();
stringBuffer.delete(3,5);
System.out.println(stringBuffer);
//insert(int offset,int i)方法:将字符插入到字符串某个位置
stringBuffer.insert(3,"通大");
System.out.println(stringBuffer);
//replce(int start,int end,Stirng str)方法:使用给定的字符替换此序列串中的字符
stringBuffer.replace(0,6,"上海交通大学");
System.out.println(stringBuffer);
}
}
实验结果:

华东交通大学是一所以交通为特色轨道为核心多学科协调发展的教学型研究大学
学大究研型学教的展发调协科学多心核为道轨色特为通交以所一是学大通交东华
华东交学是一所以交通为特色轨道为核心多学科协调发展的教学型研究大学
华东交通大学是一所以交通为特色轨道为核心多学科协调发展的教学型研究大学
上海交通大学是一所以交通为特色轨道为核心多学科协调发展的教学型研究大学

posted on 2021-04-26 21:52  DurantYYDS  阅读(119)  评论(0)    收藏  举报

导航