JD.LIST.ADD
JD.LIST.ADD は、addAll、removeAll、retainAll、containsAll などのコンテナーで演算が実行され、引数がコンテナー自身の場合に発生します。明らかに記述間違いです。
脆弱性とリスク
これ自体はエラーではありませんが、無意味であるため、ロジックのエラーです。たとえば、con1.addAll(con2) と記述するところを、プログラマーが con1.addAll(con1) と記述したなどです。このエラーの重大度は、コードの使用場所と使用方法によって異なります。
軽減と防止
メソッドの引数の名前を修正してください。おそらく、removeAll を list.clean() に置き換える必要があります。
例 1
コピー
private Collection foo(Collection list12_3,
Collection list12_4) {
if (list12_3.size() < list12_4.size()) {
list12_3.addAll(list12_4);
return list12_3;
} else {
list12_4.addAll(list12_4);
return list12_4;
}
}
JD.LIST.ADD が 17 行目の 'addAll' の呼び出しに対して報告されています。コンテナー 'list12_4' が自分自身を引数として 'addAll' を呼び出しています。このコードは何も実行しないか、もっと簡単な方法があります。おそらく、記述間違いです。