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 替代