Java7 空安全方法调用

2023-11-26

我想了解有关Java7此功能的详细信息,例如这段代码

public String getPostcode(Person person)
{
    if (person != null)
    {
        Address address = person.getAddress();
        if (address != null)
        {
            return address.getPostcode();
        }
    }
    return null;
}

可以做这样的事情

public String getPostcode(Person person)
{
    return person?.getAddress()?.getPostcode();
}

但坦率地说,我不太清楚。请解释一下?


作为 Project Coin 的一部分,为 Java 7 提出了空安全方法调用,但它并未进入最终版本。

查看所有建议的功能,以及最终选择的功能 -https://wikis.oracle.com/display/ProjectCoin/2009ProposalsTOC


就简化该方法而言,您可以做一些改变:

public String getPostcode(Person person) {

    if (person == null) return null;
    Address address = person.getAddress();
    return address != null ? address.getPostcode() : null;
}

我认为没有比这更简洁、更清晰的了。恕我直言,尝试将该代码合并到一行中,只会使代码不太清晰且可读性较差。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java7 空安全方法调用 的相关文章

随机推荐