为了账号安全,请及时绑定邮箱和手机立即绑定

String 对象存储字符串的效率比 StringBuilder 高?

string对象存储字符串的效率与stringbuilder,stringbuffer比较,哪个高?为什么


正在回答

3 回答

StringBulider>StringBuffer>String;

String确定字符串之后是固定的不可改变的;重新添加字符串就会成为一个新的对象,并非是原对象;

StringBulider确定字符串后可对字符串进行修改、增加内容,且指定的还是原对象,性能比string高;

StringBulider和StringBuffer比较,前者没有实现线程安全功能,后者是线程安全,所以前者比后者高;

2 回复 有任何疑惑可以回复我~
#1

血色万花筒 提问者

非常感谢!
2017-12-28 回复 有任何疑惑可以回复我~
#2

学霸985

是StringBuilder 不是,,,, 关键字不要写错,不然以后就,,,
2019-02-25 回复 有任何疑惑可以回复我~
String是不可变的,所以天然线程同步。
同步就是排队,线程t1要执行的时候,必须等待t2线程执行结束;
异步就是并发,各线程执行各自的,互不影响。
0 回复 有任何疑惑可以回复我~

String主要用于公共API,通用性好、用途广泛、读取性能高、占用内存小。
StringBuilder主要用于拼接String,修改性能好。
不过现在的编译器已经把 String 的 + 操作优化成 StringBuilder 了,所以一般用String就可以了

String是不可变的,所以天然线程同步。
StringBuilder可变,非线程同步。

3 回复 有任何疑惑可以回复我~
#1

筑梦堂

String是不可变的,所以天然线程同步。这是误导初学者,这里不存在同步,根本就是异步
2019-08-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

String 对象存储字符串的效率比 StringBuilder 高?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信