string, stringbuffer,stringbuilder 区别

Life is short , play more!
本文来自lihao's Blog,转载请注明。

主要的区别:

String 不可变的, 如果你想改变string的值, 则会创建一个新的object, 而 StringBufferStringBuilder 是可变的, 所以你可以改变它本身的值.

线程安全区别:

StringBuffer and StringBuilder的最大区别StringBuffer 是线程安全的. 如果您的程序只是在单线程中使用, 则使用 StringBuilder.  因为 StringBuilder的性能比 StringBuffer 好的多.

使用具体情况:

  • 如果字符串不会改变,则使用string ,例如常量字符串.
  • 如果你的字符串是可以改变的.  (例如:会有狠多字符串构造,拼接等的逻辑操作时) 且是在单线程情况下使用,则使用 StringBuilder .
  • 多线程情况下经常要对字符串进行逻辑操作, 请使用stringbuffer.

 


发表评论

电子邮件地址不会被公开。 必填项已用*标注