String,StringBuffer,StringBuilder的区别
2017-07-26 16:30
239 查看
1,可变与不可变
String是字符串常量,使用final修饰,所以是不可变的.
StringBuffer和StringBuilder是字符串变量.都继承自AbstractStringBuilder类,内部使用字符数组保存字符串,没有final修饰.所以是可变的.
2,是否线程安全
String是不可变的,显然线程安全.
StringBuffer使用synchronized对方法加了锁,所以线程安全.
StringBuilder没有加锁,所以线程不安全.
3,
如果要操作少量的数据用String,因为String
str ="i"+" love"+" you"; 其实就是String str ="i love you"; 所以速度最快.
在单线程下,使用StringBuilder效率比StringBuffer高.
在多线程下建议使用StringBuffer.
String是字符串常量,使用final修饰,所以是不可变的.
StringBuffer和StringBuilder是字符串变量.都继承自AbstractStringBuilder类,内部使用字符数组保存字符串,没有final修饰.所以是可变的.
2,是否线程安全
String是不可变的,显然线程安全.
StringBuffer使用synchronized对方法加了锁,所以线程安全.
StringBuilder没有加锁,所以线程不安全.
3,
如果要操作少量的数据用String,因为String
str ="i"+" love"+" you"; 其实就是String str ="i love you"; 所以速度最快.
在单线程下,使用StringBuilder效率比StringBuffer高.
在多线程下建议使用StringBuffer.
相关文章推荐
- java中String、StringBuffer、StringBuilder的区别
- Java中String、StringBuffer、StringBuilder的区别及面试经常出现的问题
- String 、StringBuffer、StringBuilder之间的区别
- String,StringBuffer与StringBuilder的区别??
- String、StringBuffer与StringBuilder之间区别
- Java&&String,StringBuffer与StringBuilder的区别??
- Java中String,StringBuffer,StringBuilder的区别?
- Java中的String,StringBuilder,StringBuffer三者的区别
- string,StringBuffer与StringBuilder的区别??
- String,StringBuffer与StringBuilder的区别??
- String、StringBuilder和StringBuffer的区别
- String,StringBuffer与StringBuilder的区别??
- String、StringBuffer和StringBuilder的区别
- String、StringBuffer和StringBuilder的区别
- java基础知识回顾之---java StringBuffer,Stringbuilder与String的区别
- String,StringBuffer与StringBuilder的区别
- String、StringBuffer、StringBuilder的区别
- String,StringBuffer,StringBuilder三者之间的区别
- 关于String和StringBuilder、StringBuffer的区别?
- String,StringBuffer与StringBuilder的区别