UC.STRS
不需要通过调用其构建函数来创建新对象,比如字符串或布尔值。使用工厂方法、静态实例或直接使用表达式值可帮助避免不必要的对象创建。如果调用新的 String(string expression) 构建函数,而非使用字符串表达式,则会出现 UC.STRS 警告。
漏洞与风险
该方法会创建额外的对象,将占用更多的内存并降低性能,但又不会带来其他任何功能性的影响。
示例 1
复制
public String toString() {
return new String(name + ":"+ age);
}
// fixed code
public String toString2() {
return name + ":"+ age;
}
针对第 18 行报告 UC.STRS:不必要的对象创建,新的 String(string expression) 方法可以用字符串表达式替代