ResponseEntity<JsonNode> response = null;
//Calling POST Method
response=restTemplate.exchange(url, HttpMethod.POST,request,JsonNode.class);
restResponse.setStatusCode(response.getStatusCode());
restResponse.setHeaders(response.getHeaders());
if(response.getBody().isNull())
{
//DO SOMETHING
}
Run Code Online (Sandbox Code Playgroud)
问题:面临空指针异常
尽管我尝试使用 check 处理 Not Null 场景response.getBody().isNull(),但似乎此检查也会导致空指针异常。
我的假设:response.getBody()应该返回我尝试执行isNull()方法的 JsonNode 对象。我不确定这个调用如何再次导致空指针异常。在 Intellij 上,它显示getBody()方法有@Nullable可能出现空指针异常。
我在网上搜索了一些解决方案,说使用response.getBody()!=null会起作用。我很困惑。那么方法有什么用呢isNull()?
HttpEntity#hasBody我会在取回尸体之前使用。该实体很可能没有身体。它比response.getBody() != null支票更具表现力。
请不要假设isNull()on 一个对象会在 null 上检查该对象。this == null从根本上来说是错误的,而且从来都不是真的。
class Body {
public boolean isNull() {
return this == null; // never makes sense
}
}
Run Code Online (Sandbox Code Playgroud)