EN JP CN

JD.LIST.ADD

JD.LIST.ADD

JD.LIST.ADD は、addAll、removeAll、retainAll、containsAll などのコンテナーで演算が実行され、引数がコンテナー自身の場合に発生します。明らかに記述間違いです。

脆弱性とリスク

これ自体はエラーではありませんが、無意味であるため、ロジックのエラーです。たとえば、con1.addAll(con2) と記述するところを、プログラマーが con1.addAll(con1) と記述したなどです。このエラーの重大度は、コードの使用場所と使用方法によって異なります。

軽減と防止

メソッドの引数の名前を修正してください。おそらく、removeAll を list.clean() に置き換える必要があります。

例 1

11     private Collection foo(Collection list12_3,
12                            Collection list12_4) {
13         if (list12_3.size() < list12_4.size()) {
14             list12_3.addAll(list12_4);
15             return list12_3;
16         } else {
17             list12_4.addAll(list12_4);
18             return list12_4;
19         }
20 
21     }

JD.LIST.ADD が 17 行目の 'addAll' の呼び出しに対して報告されています。コンテナー 'list12_4' が自分自身を引数として 'addAll' を呼び出しています。このコードは何も実行しないか、もっと簡単な方法があります。おそらく、記述間違いです。