代码审查工具抱怨saveSafeScan中可能的空指针取消引用safeScanWarnings(...)在if行(safeScanWarnings!= Null&safeScanWarnings.size()> 0)
我想知道这怎么可能?这是因为我们通过引用返回集合吗?
protected void saveSafeScan(final Response response, final Dtec dtec) throws dtecException
{
Collection<String> safeScanWarnings = dtec.getSafeScanWarnings();
if (safeScanWarnings!=null && safeScanWarnings.size()>0)
{
Iterator<String> iterator = safeScanWarnings.iterator();
int i = 0;
while (iterator.hasNext())
{
String safeScanCode = iterator.next();
if (i == 0)
{
response.setSafeScanCode(safeScanCode);
response.setSafeScanCodeText(getMessage(String.format("DTECRESPONSE_SAFESCANCODE_%s",
StringUtils.trimToEmpty(safeScanCode))));
}
SafeScanWarning safeScan = new SafeScanWarning();
safeScan.setCode(safeScanCode);
safeScan.setMessage(String.format("DTECRESPONSE_SAFESCANCODE_%s", StringUtils.trimToEmpty(safeScanCode)));
safeScan.setPriority(i);
response.getSafeScanWarnings().add(safeScan);
i++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 11
如果它真的指向那一行,那对我来说,它看起来像代码审查工具中的一个错误.
由于它是一个局部变量,因此无法通过无效检查和size()调用之间的任何其他方式进行更改- 因此它无法抛出一个NullPointerException.
| 归档时间: |
|
| 查看次数: |
27776 次 |
| 最近记录: |