1. 程式人生 > >findbugs中Dead store to local variable [DLS_DEAD_LOCAL_STORE]

findbugs中Dead store to local variable [DLS_DEAD_LOCAL_STORE]


 List<BY102010ResultDetailModel> detailList = new ArrayList();
 detailList = resultModel.getDetails();

用findbugs執行後,說List<BY102010ResultDetailModel> detailList = new ArrayList();存在Dead store to local variable,中文意思是

“本地變數儲存了閒置不用的物件”。

原因:

List<BY102010ResultDetailModel> detailList = new ArrayList();執行了以下三個動作

1、建立一個引用
2、建立一個ArrayList物件   
3、把ArrayList的引用賦值給detailList

其中,後面兩個動作變得會是多餘的,因為後面的程式中你沒有使用這個新建的ArrayList,而是重新給ArrayList賦值。   
 detailList = resultModel.getDetails();
  所以,只需要 List<BY102010ResultDetailModel> detailList;即可。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 如下程式碼也有相同的findbugs

        boolean del = false;
        del = delByUserId(userid);

上面說了一大通,不是很明白。個人感覺就是新宣告的變數在賦值後就沒有再被使用了,下面的程式碼使用下自然就消除蟲子了

比如加上Assert.assertTrue(del);