Fork me on GitHub

String|StringBuilder|StringBuffer

String,StringBuilder,StringBuffer

先说结论:
String 作为字符串常量,有拼接字符串操作的时候不要用。
StringBuilder 线程不安全,但是速度快,推荐使用,单线程情况下
StringBuffer 线程安全,但是比builder慢一点,基本在你要求线程安全的特殊场景下用

String

String a = "12345";//"12345" 就是字符串常量,a是指向这个字符串常量
a = "abcd";//"abcd" 就是另一个字符串常量,a是又指向了这个字符串常量【之前的"12345"还存在字符串常量池中】
字符串常量是存放在字符串常量池中的,它是不会变的,每次对字符串做拼接时都会有新的字符串常量产生放在字符串常量池中。所以不建议在拼接时使用。

StringBuilder,StringBuffer

StringBuilder,StringBuffer
相对于string来说,对象可以被多次修改,拼接,而不产生新的对象,不会浪费内存空间

OK,又水了一篇

posted @ 2020-07-29 15:54  WilliamCui  阅读(112)  评论(0编辑  收藏  举报