您的位置:首页 > 产品设计 > UI/UE

String+StringBuilder+StringBuffer

2017-10-30 17:19 411 查看
String 是被 final 修饰的,他的长度是不可变的,一旦创建了
String 对象,那它的值就无法改变了,就算调用 String 的concat 方法,那也是把字符串拼接起来并重新创建一个对象,把拼接后的
String 的值赋给新创建的对象。String 一旦发生长度变化,是非常耗费内存的!

如果需要对字符串做很多修改,那么应该选择使用 StringBuffer 和 StringBuilder 类。

和 String 类不同的是,StringBuilder和StringBuffer 类的对象能够被多次的修改,长度是可变的,调用append
方法,来改变长度,不产生新的未使用对象。

StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。

简而言之即:

String 长度大小不可变

StringBuffer 和 StringBuilder 长度可变

StringBuffer 线程安全 StringBuilder 线程不安全

StringBuilder 速度快
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: