gpt4 book ai didi

java - 相等比较中的奇怪问题

转载 作者:行者123 更新时间:2023-12-03 20:22:34 26 4
gpt4 key购买 nike

我在使用以下语法时遇到一个奇怪的问题:

下面的代码块没有抛出空指针异常

Map<String, String> requestHeaderMap = FacesContext.getCurrentInstance().getExternalContext().getRequestHeaderMap();

if(!"partial/ajax".equals(requestHeaderMap.get("faces-request")))
{
System.out.println("This works");
}

但是这个抛出空指针异常:

FacesContext.getCurrentInstance().getExternalContext().getRequestHeaderMap().get("faces-request").equals("partial/ajax")

我只是想不通这里出了什么问题。除了可读性之外,我看不出两个调用之间有任何区别。

最佳答案

FacesContext.getCurrentInstance().getExternalContext().getRequestHeaderMap().get("faces-request") 为空。您的版本之所以有效,是因为您将等号颠倒了,这两个操作归结为:

null.equals(object)

object.equals(null)

第一个抛出 NullPointerException,第二个抛出错误。

关于java - 相等比较中的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14564851/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com