toString() 或 substring() 等可替换为更简单表达式的 String 构造函数和方法的冗余调用。
例如,在 "string".substring(0)、"string".toString() 或
new StringBuilder().toString().substring(1,3) 等代码中,可以安全移除对这些方法的调用。
示例:
System.out.println(new String("message"));
在应用快速修复后:
System.out.println("message");
请注意,该快速修复会移除冗余的构造函数调用,这可能会影响 String 引用相等。
即使被认为是一种不好的做法,如果您仍需要保留,请禁止警告或使用检查设置来忽略冗余的 String 构造函数调用。
请使用下方的不报告 String 构造函数调用选项来不报告代码(如上例所示)。
这将避免在使用 new String() 调用保证不同对象相等性的代码中应用快速修复后改变与 == 或 != 进行字符串比较的结果。
2018.1 最新变化