最常用且高效的方式是用String构造函数创建StringBuilder。StringBuilder(String)将字符串复制到内部数组,支持自由修改;String不可变,频繁修改需转为StringBuilder以避免大量临时对象;错误写法包括强制类型转换和冗余链式调用;修改后用toString()获取结果。

直接用 String 构造函数创建 StringBuilder 即可,这是最常用也最高效的方式。
使用 StringBuilder(String) 构造方法
StringBuilder 提供了接受 String 的构造方法,会将字符串内容复制到内部字符数组中,之后就能自由修改:
String str = "Hello";StringBuilder sb = new StringBuilder(str);sb.append(" World").reverse(); // 修改操作不会影响原 String
注意:String 是不可变的,必须显式转换
String 对象本身无法被修改,所有“修改”操作(如 replace、substring)都返回新对象。若需频繁修改文本(比如循环拼接、插入、删除),必须转为 StringBuilder 或 StringBuffer,否则会产生大量临时对象,影响性能。
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
常见误操作提醒
以下写法是错误或无意义的:
立即学习“Java免费学习笔记(深入)”;
StringBuilder sb = (StringBuilder) "abc"; // 编译不通过,类型不兼容StringBuilder sb = new StringBuilder().append("abc"); // 可行但冗余,不如直接 new StringBuilder("abc")sb.toString().replace(...); // 得到新 String,没改 sb 本身
转换后记得用 toString() 获取结果
完成修改后,如需还原为不可变字符串,调用 toString():
String result = sb.toString(); // 安全,每次调用返回新 StringString result = sb.substring(0); // 等价,但语义不如 toString() 清晰

















