由于每个字符串连接都会复制整个字符串,因此通常最好将其替换为对 StringBuilder.append()
或 StringBuffer.append()
的显式调用。
示例:
String str = ""; for(int i=0; i<10; i++) { str += i; }
在应用快速修复后:
String str = ""; StringBuilder strBuilder = new StringBuilder(str); for(int i = 0; i<10; i++) { strBuilder.append(i); } str = strBuilder.toString();
有时,通过快速修复可将 String
变量转换为 StringBuilder
或引入新的 StringBuilder
。 原始代码专门处理 null
值时应小心,因为替换可能会改变语义。 如果可能为 null
,建议进行 null 安全修复,生成必要的 null 检查。 此外,也不能保证自动替换总是性能更好。