本文主要是介绍java中StringBuffer和StringBuilder,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
StringBuffer
- StringBuffer是一个容器
- StringBuffer实现了Serializable,说明可以串行化
- 在父类中 AbstractStringBuilder 有属性 char[] value,不是 final,该 value 数组存放 字符串内容,引出存放在堆中的
String vs StringBuffer
- String:保存的是字符串常量,里面的值是不能修改的,每次String类的更新实际上就是更改地址,效率低
- String Buffer:保存的是字符串变量,里面的值可以修改,每次StringBuffer更新实际上是更新的内容,不用更新地址,效率高
-
String 和 StringBuffer 之间的转化
public class String_Buffer {
public static void main(String[] args) {
//String ---> String Buffer String转为StringBuffer
String fun = "hello";
//方式一 使用构造器
StringBuilder stringBuilder = new StringBuilder(fun);
//方式二 使用append
StringBuilder stringBuilder1 = new StringBuilder();
stringBuilder1.append(fun);
//String Buffer ---> String StringBuffer转为String
StringBuilder pfc = new StringBuilder("平凡晨");
//方式一 toString()方法
String string = pfc.toString();
//方式二 使用构造器
String s = new String(pfc);
System.out.println(s);
}
}
StringBuilder
- 一个可变的字符序列。此类提供了与StringBuffer兼容的API
- StringBuilder是不是线程安全的
- 此类设计是StringBufer的简易版,用在字符缓冲区被单个线程使用
- StringBuilder 要比 StringBuffer 快
String、StringBuffer 和 StringBuilder 的比较
![](/upload/202203/10/202203100914400875.png)
String、StringBuffer 和 StringBuilder 的选择
![](/upload/202203/10/202203100914405454.png)
这篇关于java中StringBuffer和StringBuilder的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!