findbugs中Dead store to local variable [DLS_DEAD_LOCAL_STORE]
阿新 • • 發佈:2019-02-06
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);