SonarQube报错:httpURLConnection !=null条件恒为false的解决咨询
解决SonarQube提示“修改此条件使其不总是判定为false”的问题
问题原因
SonarQube报错的核心原因是:你调用的getHttpURLConnection方法永远不会返回null。看这个方法的实现:
- 正常逻辑下,方法会创建并返回一个
HttpURLConnection实例; - 如果过程中出现异常,方法直接抛出
CSVException,不会走到return语句。
所以httpURLConnection != null这个判断完全是多余的,因为变量永远不可能为null,SonarQube检测到这个无效判断就触发了报错。
解决方法
直接移除多余的null判断,简化代码:
修改retrieveList方法中初始化Reader的代码:
// 原代码 Reader reader = new InputStreamReader(httpURLConnection !=null ? httpURLConnection.getInputStream() : null); // 修改后 Reader reader = new InputStreamReader(httpURLConnection.getInputStream());
额外说明
如果后续你需要修改getHttpURLConnection的逻辑,让它有可能返回null,那此时才需要保留null判断并处理null的情况。但基于当前的方法实现,这个判断完全没有存在的必要。
内容的提问来源于stack exchange,提问作者trelyin
相关产品推荐
相关产品推荐

