JD.VNU.NULL

JD.VNU.NULL は、変数に代入された NULL 値が代入後に 1 度も読み取られていないことを示します。

脆弱性とリスク

多くの場合、冗長な初期化コードという程度ですが、重大な論理エラーを意味する場合もあります。

軽減と防止

コードを最適化し、使用されていない代入を削除してください。

例 1

コピー
     Reader prepareReader(Reader r) {
         BufferedReader bufferedReader = null;
 
         try {
             bufferedReader = new BufferedReader(r);
             register(bufferedReader);
         } catch (Exception e) {
             e.printStackTrace();
         }
 
         return bufferedReader;
     }
 
     private void register(BufferedReader bufferedReader) {
         // ...
     }

JD.VNU.NULL が 17 行目に対して報告されています。BufferedReader コンストラクタが例外をスローしないため、20 行目で常に 'bufferedReader' 変数が代入されます。

関連チェッカー