String
、StringBuffer
和 StringBuilder
都是用来处理字符串的。
String
是字符串常量,创建的字符内容不可变。StringBuffer
和 StringBuilder
都是字符串变量,创建的字符内容可以被修改。
StringBuffer
和 StringBuilder
的区别在于StringBuffer
是线程安全的, StringBuilder
不是线程安全的。
官方文档相关参考链接:
String
请参考链接:https://blog.csdn.net/jdliyao/article/details/84557390
StringBuffer
StringBuffer 对象的初始化
StringBuffer 常用方法
append(String str)
: 将str
追加到当前StringBuffer
对象的末尾。deleteCharAt(int index)
: 删除指定位置的字符insert(int offset, String str)
: 在指定位置插入内容reverse()
: 将 StringBuffer 对象中的内容反转setCharAt(int index, char ch)
: 修改对象中索引值为 index 位置为ch
trimToSize()
: 将StringBuffer
对象中的存储空间缩小到字符串长度那样的长度,减少空间的浪费。
StringBuilder
StringBuilder是5.0新增的,此类提供一个与 StringBuffer 兼容的 API,但不保证同步。
该类被设计用作 StringBuffer
的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。
如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。
StringBuilder 常用方法
append(String str)
: 将str
追加到当前StringBuffer
对象的末尾。deleteCharAt(int index)
: 删除指定位置的字符insert(int offset, String str)
: 在指定位置插入内容reverse()
: 将 StringBuffer 对象中的内容反转setCharAt(int index, char ch)
: 修改对象中索引值为 index 位置为ch
trimToSize()
: 缩小value的容量到真实内容大小