| 失效链接处理 |
|
为什么 IDEA 建议去掉 StringBuilder,使用“+”拼接字符串
相关截图:
![]() 主要内容:
先看 IDEA 到底在提示什么
典型场景是这样的:你只是想拼一句日志、拼一个返回信息,却习惯性写出了 StringBuilder。
public String welcome(String name) {
StringBuilder sb = new StringBuilder();
sb.append("你好,");
sb.append(name);
sb.append(",欢迎回来。");
return sb.toString();
}
IDEA 会建议改成:
public String welcome(String name) {
return "你好," + name + ",欢迎回来。";
}
这段改写看起来“偷懒”,但语义完全一样。真正的差别在于:第一种写法多创建了一个你自己管理的缓冲对象,第二种则把拼接交给编译器和 JVM。对这种一次性、表达式级别的拼接,后者更短、更好读,性能也不差。
编译器其实早就帮你干了这活
很多人对 + 的恐惧,来自一句过时的口头禅:字符串不可变,每次 + 都会 new 一个新对象。这句话在循环里基本成立,但拿到同一条语句里的连续拼接上,就不准了。
|


苏公网安备 32061202001004号
