我已经写了这段代码,它工作正常,但是 Sonarlint 警告我不要使用wsr.getBody().getWorkspace()
,它可能会导致wsr.getBody()
上的NullPointerException
,后者可能会产生null,它说。
public WorkspaceSummary getWorkspace(String workspaceName) {
try {
ResponseEntity<GetWorkspaceResponse> wsr = this.workspacesApi.getWorkspaceWithHttpInfo(workspaceName, this.quiet);
if (wsr == null || wsr.getBody() == null) {
throw new RuntimeException("getWorkspaceWithHttpInfo a renvoyé une réponse nulle");
}
return wsr.getBody().getWorkspace();
}
catch(HttpClientErrorException e) {
[...]
}
}
但我不这么认为。在我看来,我做了必要的事情来阻止它。
有时候我们看不到摆在我们面前的明显的东西,这就是为什么我问你我是否错过了什么。
2条答案
按热度按时间txu3uszq1#
您假设war.getBody()是一致的,并且总是返回相同的值。Sonar查看代码,发现您正在重新计算或重新获取值,因此基本上您没有验证新值,因此值可以为null。如果你保存了这个值,那么这个值就不会改变。
6ss1mwsb2#
@oferskulsky给出的答案可以按照@experimentunit1998X建议的方式应用,它解决了警告。好极了!