【Java编程基础】String、StringBuffer、StringBuilder的区别

一、性能上

1、String:字符串常量,不可修改,每次添加字符串都要新建对象,占据较大空间时间

String a = "aabc";
//结果为:a = "aabcbcd"
//程序新建字符串对象a来获取新的值
a=a+"bcd"; 

2、StringBuffer & StringBuilder:字符串变量,可修改,例如append方法追加字符串

StringBuffer a = new StringBuffer();
//结果为a = "abcefg"
a.append("abc").append("efg");

二、安全性上(多线程)

1、String:不可更改,线程安全

2、StringBuffer:方法带synchronized关键字,线程安全,用于多线程大量字符串操作

3、StringBuilder:性能高、线程不安全,用於单线程大量字符串操作

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章