-
String String属于字符串常量,每次进行增添操作,需要开辟两块内存空间。
对 “world”开辟一块空间、对“hello world”开辟一块空间。
-
StringBuilder和StringBuffer StringBuilder和StringBuffer属于字符串变量,在进行字符串更新操作时不会开辟新的空间,区别在于StringBuilder速度更快,但不是线程安全。
&bnsp; 速度 是否线程安全 是否推荐 StringBuilder faster 否 否 StringBuffer fast 是 是 -
继承结构
-
字符串拼接(字节码层面分析)
-
都是常量进行拼接,在编译成字节码的时候会自动生成;
-
存在变量的时候,会优化成StringBuilder.append();
在拼接都是常量的时候,使用String性能最高,在有变量的时候使用 StringBuilder性能比较好,在多线程安全情况下,使用StringBuffer是最合 适的。切记不要在循环里面使用String拼接变量。