String,StringBuilder和StringBuffer对比详解
时间:
2021-05-13 01:05:29
阅读:
21
评论:
收藏:
0
[点我收藏+]
String,StringBuilder和StringBuffer的比较
- StringBuilder和StringBuffer非常类似,均代表可变的字符序列,而且方法也一样
- String: 不可变字符序列,效率低,但是复用率高
- StringBuffer: 可变字符序列、效率较高(增删),线程安全
- StringBuilder:可变字符序列,效率较高,线程不安全
- String使用注意说明:
- string s = "a";创建了一个字符串
- s += "b";实际上原来的"a"字符串已经丢弃了,现在又产生了一个新的字符串,如果多次执行这些改变串内容的操作,会导致大量副本字符串对象存留在内存中,降低效率,如果这样的操作放到循环中,会极大影响程序的性能,因此如果是对String做大量修改,则不使用
String,StringBuilder和StringBuffer的选择
- 如果字符串存在大量的修改操作,一般使用StringBuffer或StringBuilder
- 如果字符串存在大量的修改操作,并在单线程的情况下,使用StringBuilder
- 如果字符串存在大量的修改操作,并在多线程的情况下,使用StringBuffer
- 如果字符串很少修改,被多个对象引用时,使用String,比如配置信息
String,StringBuilder和StringBuffer对比详解
原文:https://www.cnblogs.com/mx-info/p/14761953.html