Java 基础:String 与 StringBuilder 拼接

一、String 不可变

String 对象创建后内容不可改,每次”修改”都生成新对象。字符串字面量存常量池复用,所以 "a"+"b" 在编译期就合并,而运行时 + 拼接会生成新 String。

二、StringBuilder vs StringBuffer

类 线程安全 场景
StringBuilder 不安全(快) 单线程拼接,循环里用它
StringBuffer 安全(synchronized) 多线程拼接
StringBuilder sb = new StringBuilder();
sb.append("a").append("b");
String s = sb.toString();   // 循环拼接用这个,别用 +

三、常用方法

  • length() 长度、charAt(i) 取字符;
  • substring(a,b) 截取、trim() 去空白;
  • equals() 比内容(别用 ==)、equalsIgnoreCase() 忽略大小写;
  • split() 按正则拆分、replace() 替换。

性能口诀:循环/大量拼接用 StringBuilder,单次拼接用 + 无妨(编译器会优化)。