string、stringbuilder、stringbuffer区别
来源:互联网 发布:淘宝退换货说明怎么写 编辑:程序博客网 时间:2024/05/28 04:53
简介
- String 字符串常量,可共享。
- StringBuffer 字符串变量(线程安全)
- StringBuilder 字符串变量(非线程安全)
String 类型和 StringBuffer 类型
- String 是不可变的对象, 每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象。当内存中无引用对象多了以后, JVM 的 GC 就会开始工作,那速度是一定会相当慢。
- 对StringBuffer 操作,每次结果都会对 StringBuffer 对象本身进行操作,而不是生成新的对象。所以在一般情况下我们推荐使用 StringBuffer ,特别是字符串对象经常改变的情况下。而在某些特别情况下, String 对象的字符串拼接(例如:”Good”+”morning”)其实是被 JVM 解释成了 StringBuffer 对象的拼接,所以这些时候 String 对象的速度并不会比 StringBuffer 对象慢.但是在大部分情况下 StringBuffer优于String
StringBuffer和StringBulider
- StringBuffer线程安全的可变字符序列。类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。
StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。append 方法始终将这些字符添加到缓冲区的末端;而 insert 方法则在指定的点添加字符。- java.lang.StringBuilde
StringBuilder一个可变的字符序列是5.0新增的。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候。如果可能,建议优先采用该类,( 效率要高)。
阅读全文
0 0
- String StringBuffer StringBuilder 区别
- String, StringBuffer, StringBuilder区别
- String,StringBuffer,StringBuilder区别
- String StringBuffer StringBuilder区别
- String StringBuilder StringBuffer 区别
- String ,stringbuffer,stringbuilder区别
- String, StringBuffer, StringBuilder区别
- String StringBuffer StringBuilder区别
- String StringBuilder StringBuffer区别
- String StringBuffer StringBuilder 区别
- StringBuilder、StringBuffer、String区别
- String,StringBuffer,StringBuilder区别
- String StringBuffer StringBuilder区别
- String StringBuffer StringBuilder 区别
- string,stringbuffer,stringbuilder区别
- string,stringbuffer,stringbuilder区别
- string,stringbuffer,stringbuilder区别
- StringBuilder、StringBuffer、String区别
- jsp
- 数据库大量字段涉及运算的javabean解决方案
- Python廖雪峰实战web开发(Day8-构建前端)
- HDU
- 算法设计与分析
- string、stringbuilder、stringbuffer区别
- Writing your first Django app, part 1
- slf4j-api、slf4j-log4j12以及log4j之间什么关系?
- “VMware Workstation 不可恢复错误:(vcpu-0)”的解决方案
- sysctl arp_filter 的作用
- OkHttp网络请求框架入门(一)
- 设计模式之策略模式
- ubuntu14 mysql数据库出现Access denied for user XX@'localhost' (using password: YES)的情况及解决
- PAT (Advanced Level) Practise 1035