String、StringBuffer和StringBuilder

来源:互联网 发布:caxa编程平面铣 编辑:程序博客网 时间:2024/06/05 08:19

在学习各种面经的时候,看到不可避免的都会遇见同一个问题:String、StringBuilder、StringBuffer三者的区别,所以我这简单的整理一下:

String:字符串常量,使用String定义了字符串之后就不可改变了

StringBuilder:字符串变量,可变(线程不安全)

StringBuffer:字符串变量,可变(线程安全)

所以,如果在程序中只有少量的字符数据需要操作,那么可以使用String,如果数据量较大,就选择另外两种。

另外,StringBuffer是线程安全的,所以多线程下操作大量字符数据无疑选择这个,单线程下操作大量数据就选择StringBuilder了。

三者在执行速度上的比较:

String<StringBuffer<StringBuilder

0 0