string, stringbuffer,stringbuilder 区别
Posted On 2013年7月11日
主要的区别:
String
不可变的, 如果你想改变string的值, 则会创建一个新的object, 而 StringBuffer
和StringBuilder
是可变的, 所以你可以改变它本身的值.
线程安全区别:
StringBuffer
and StringBuilder的最大区别
: StringBuffer
是线程安全的. 如果您的程序只是在单线程中使用, 则使用 StringBuilder
. 因为 StringBuilder的性能比
StringBuffer 好的多.
使用具体情况:
- 如果字符串不会改变,则使用string ,例如常量字符串.
- 如果你的字符串是可以改变的. (例如:会有狠多字符串构造,拼接等的逻辑操作时) 且是在单线程情况下使用,则使用
StringBuilder
. - 多线程情况下经常要对字符串进行逻辑操作, 请使用stringbuffer.
此篇文章已被阅读2550 次