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

String、StringBuilder、StringBuffer的区别

2017-03-08 14:59 507 查看
字符串篇
老话常谈字符类型的数据在项目中很常见,所以深刻的理解String,StringBuilder,StringBuffer尤为重要
String         StringBuilder          StringBuffer

相同点     字符串常量         字符串常量            字符串常量
线程安全      无               非线程安全             线程安全
字符序列     不可变的           可变                    可变
速度              StringBuilder>StringBuffer>String
String   特点:
①、String类型的对象在内存中是不可变的。也就是说每一次创建一个对象都会在内存中开辟
一个内存空间,并重新指向新改变的内存空间地址。当内存中无用引用对象多了,GC会开始回收内存,
相应的运行速度也会变慢。
StringBuffer  特点:
①、StringBuffer线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,某些方法调用可以改变
该序列的长度和内容。可将字符串缓冲区安全地用于多个线程。
②、StringBuffer 的主要方法是 append 和 insert 方法。append 方法始终将这些字符添加到缓冲区的末端;
而 insert 方法则在指定的点添加字符。

StringBuilder 特点:
①、StringBuilder是5.0新增的一个可变的字符序列字符串类,常用在字符串缓冲区被单个线程使用的时候
建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快;

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