EN JP CN

UC.BOOLB

UC.BOOLB

String、Boolean などの新規オブジェクトをそれらのコンストラクタを呼び出して作成する必要はありません。ファクトリメソッド、静的インスタンス、または単に式の値を使用することで、不要なオブジェクトの作成を回避できます。警告 UC.BOOLB は、Boolean.valueOf(boolean expression) または Boolean.TRUE シングルトン、Boolean.FALSE シングルトンを使用する代わりに、new Boolean(boolean expression) コンストラクタの呼び出しが存在する場合に表示されます。

脆弱性とリスク

このメソッドは、余分なオブジェクトを作成してメモリを消費し、パフォーマンスを低下させます。その他の機能的な影響はありません。

例 1

11     ArrayList bool1(boolean arr[]) {
12         ArrayList res = new ArrayList();
13         for (int i = 0; i < arr.length; i++) {
14             boolean b = arr[i];
15             res.add(new Boolean(b));
16         }
17         return res;
18     }

UC.BOOLB が 15 行目に対して報告されています。不要なオブジェクト作成です。new Boolean(boolean expression) メソッドは Boolean.valueOf(boolean expression)、またはシングルトンの Boolean.TRUE および Boolean.FALSE と置き換え可能です。