我想像这样的代码来获取有关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(); }
但坦白说对我来说还不太清楚。请解释一下?
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; }
我认为您没有比这更简洁明了的了。恕我直言,试图将该代码合并为一行,只会使代码不那么清晰和可读性差。