小编典典

空安全方法调用Java7

java

我想像这样的代码来获取有关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();
}

但坦白说对我来说还不太清楚。请解释一下?


阅读 216

收藏
2020-11-13

共1个答案

小编典典

Null-safe方法调用是针对Java 7提出的,作为Project Coin的一部分,但并未最终发布。

在此处查看所有建议的功能以及所有最终选择的功能-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;
}

我认为您没有比这更简洁明了的了。恕我直言,试图将该代码合并为一行,只会使代码不那么清晰和可读性差。

2020-11-13