2016-07-27 134 views
0

我使用SonarLint插件(2.1.0)和Eclipse火星(4.5.0)和我得到:NullPointerException might be thrown as listToCheck is nullable here在此代码:避免NullPointerException异常检查

if (checkListNotNull(listToCheck)) { 
    listToCheck.get(0); // I get here that warning 
} 

checkListNotNull是返回,如果真正的方法通过的列表不为空

是否可以避免此声纳警告?

感谢

+0

你使用的是什么版本的Java?与额外的方法相比,listToCheck == null对于nullCheck更好。或者,从Java 8开始,可以使用可选的 – Stultuske

+0

'checkListNotNull(listToCheck)'比'listToCheck!= null'更长且更难读取,那么为什么不使用后者呢? – Manu

+0

我改变了一点我的方法,但真正的代码检查不为空,而不是空的。返回列表!= null &&!list.isEmpty();我正在使用Java 5(项目需要) – OscarBcn

回答

0

只是做

if(listToCheck != null && !listToCheck.isEmpty()) { 
    listToCheck.get(0); 
} 

而且我觉得警告将会消失 (使用另一种方法似乎是在这种情况下无用;警告仅仅是因为这里的Eclipse不能了解你的checkListNotNull做什么)

+1

但你得到一个例外是你有一个空的列表 – Jens

+0

噢好吧我忘记了,我编辑:P – NatNgs

+0

是的,我知道,谢谢。我想知道是否有与我的代码有关的事情 – OscarBcn