Java“空指针异常”-responseEntity.getBody().isNull()

Java“空指针异常”-responseEntity.getBody().isNull(),java,resttemplate,Java,Resttemplate,问题:面临空指针异常 尽管我试图使用check response.getBody.isNull来处理非空场景,但这种检查似乎也会导致空指针异常 我的假设:response.getBody应该返回我试图在其上执行isNull方法的JsonNode对象。 我不确定这个调用如何再次导致空指针异常。 在Intellij上,当getBody方法为@Nullable时,可能会出现Null指针异常 我在网上搜索了一些解决方案说使用response.getBody=空值将起作用。我很困惑。那么isNull方法的

问题:面临空指针异常

尽管我试图使用check response.getBody.isNull来处理非空场景,但这种检查似乎也会导致空指针异常

我的假设:response.getBody应该返回我试图在其上执行isNull方法的JsonNode对象。 我不确定这个调用如何再次导致空指针异常。 在Intellij上,当getBody方法为@Nullable时,可能会出现Null指针异常

我在网上搜索了一些解决方案说使用response.getBody=空值将起作用。我很困惑。那么isNull方法的用途是什么

isNull方法不检查body字段是否为null,而是检查它是否是从null值创建的

从Javadoc:

    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
    }
它的名称令人困惑,但请记住:您不能对任何对象调用方法,因此为NullPointerException。您前面找到的答案是正确的,要验证该对象本身是否为null,您需要使用!=空检查

isNull方法不检查body字段是否为null,而是检查它是否是从null值创建的

从Javadoc:

    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
    }
它的名称令人困惑,但请记住:您不能对任何对象调用方法,因此为NullPointerException。您前面找到的答案是正确的,要验证该对象本身是否为null,您需要使用!=空检查

我会在取回尸体之前使用。实体很有可能没有实体。它比响应更具表现力。getBody!=空检查

请不要假设对象上的isNull会在null上检查该对象。这个==null从根本上说是错误的,永远不会是真的

/**
 * Method that can be used to check if this node was created from
 * JSON literal null value.
 */
我会在取回尸体之前使用。实体很有可能没有实体。它比响应更具表现力。getBody!=空检查

请不要假设对象上的isNull会在null上检查该对象。这个==null从根本上说是错误的,永远不会是真的

/**
 * Method that can be used to check if this node was created from
 * JSON literal null value.
 */
在response=restemplate.exchangeurl、HttpMethod.POST、request、JsonNode.class;之后,是否直接检查响应是否为null;?isNull的javadoc说明了什么?如果response.getBody返回null,那么调用它上的任何方法(包括isNull)都会导致NullPointerException。isNull不是在检查值是否为null,并且!=null检查对对象的引用是否为null?另请参阅:在response=restemplate.exchangeurl、HttpMethod.POST、request、JsonNode.class;之后,是否直接检查了响应是否为null;?isNull的javadoc说明了什么?如果response.getBody返回null,那么调用它上的任何方法(包括isNull)都会导致NullPointerException。isNull不是在检查值是否为null,并且!=空检查对对象的引用是否为空?另请参见: