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 速度快
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 速度快
相关文章推荐
- String StringBuilder StringBuffer 对比 总结得非常好
- String StringBuilder StringBuffer三者的特点与及速度阐述
- String StringBuilder and StringBuffer
- String StringBuffer StringBuilder 三者的区别
- String/StringBuilder/StringBuffer之间的区别
- 黑马程序员_毕向东Java基础_集合(1)String&StringBuffer&StringBuilder&基本数据类型包装类
- String/StringBuffer/StringBuilder详细对比
- java之String & StringBuffer & StringBuilder
- String StringBuffer StringBuilder 的区别
- String StringBuffer StringBuilder
- String StringBuilder StringBuffer 对比总结
- Difference Between String , StringBuilder And StringBuffer Classes With Example : Java
- String StringBuffer StringBuilder区别
- Java软件低级错误(二十 ):正确理解String/StringBuffer/StringBuilder的性能区别
- String StringBuilder StringBuffer
- [String ] StringBuffer VS StringBuilder
- String Stringbuffer StringBuilder
- String StringBuffer StringBuilder 的区别
- Strin StringBuffer StringBuilder的区别
- java 常见问题(1)-String/StringBuffer/StringBuilder