String、StringBuffer、StringBuilder区别
2017-02-16 21:47
393 查看
简介:
最近在定义数据库语句时用到了String、StringBuffer和StringBuilder,那么它们之前有什么区别那,现在总结一下。区别:
1、是否可变
String类使用final修饰的,所以是不可变的,用String定义字符串的时候,如果字符串的值改变,就会在内存创建一个新的空间来保存字符串。StringBuffer和StringBuilder是可变对象,对其进行修改不会像String那样重新建立对象。
2、多线程是否安全
String中的对象是不可变的,也可以理解为常量,因此线程安全。StringBuffer对方法加了同步锁或者对调用的方法加了同步锁,因此是线程安全的
StringBuilder并没有加同步锁,所以是非线程安全的。
3、运行速度和效率
StringBuilder > StringBuffer > String4、使用情况总结
如果操作少量的数据用String如果是单线程操作大量数据用StringBuilder
如果是多线程操作大量数据用StringBuffer
StringBuffer和StringBuilder的用法一致,详见博客:StringBuffer用法
总结:
实践中多多体会!相关文章推荐
- String、StringBuffer和StringBuilder的区别
- String、StringBuffer和StringBuilder 区别
- String, StringBuffer, StringBuilder的区别?
- String、StringBuffer与StringBuilder之间区别
- String StringBuffer和StringBuilder的区别?
- String,StringBuffer,StringBuilder的区别
- Java 中的字符串类String、StringBuffer、StringBuilder的区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String ,StringBuffer ,StringBuilder 的主要区别
- String 和StringBuffer,StringBuilder的区别(转)
- JAVA中String与StringBuffer 、StringBuilder的区别
- String、StringBuilder和StringBuffer的区别
- String StringBuffer和StringBuilder的区别?
- stringbuilder stringbuffer 与String的区别
- Java 中的字符串类String、StringBuffer、StringBuilder的区别
- String,StringBuffer与StringBuilder的区别??
- String, StringBuffer, StringBuilder区别
- String、StringBuilder和StringBuffer的区别