UC.BOOLB
不需要通过调用其构建函数来创建新对象,比如字符串或布尔值。使用工厂方法、静态实例或直接使用表达式值可帮助避免不必要的对象创建。如果调用新的 Boolean(boolean expression) 构建函数,而非使用 Boolean.valueOf(boolean expression) 或单例 Boolean.TRUE、Boolean.FALSE,则会出现 UC.BOOLB 警告。
漏洞与风险
该方法会创建额外的对象,将占用更多的内存并降低性能,但又不会带来其他任何功能性的影响。
示例 1
复制
ArrayList bool1(boolean arr[]) {
ArrayList res = new ArrayList();
for (int i = 0; i < arr.length; i++) {
boolean b = arr[i];
res.add(new Boolean(b));
}
return res;
}
针对第 15 行报告 UC.BOOLB:不必要的对象创建,新的 Boolean(boolean expression) 方法可以用 Boolean.valueOf(boolean expression) 替代,或用单例 Boolean.TRUE 和 Boolean.FALSE 替代