Java“?” 用于检查null的运算符-这是什么?(不是三元!)

我正在阅读一篇与slashdot故事相关的文章,发现了这个小窍门:

以Java的最新版本为例,该版本试图通过提供无穷指针测试的简写语法来简化空指针检查。只需在每个方法调用中添加一个问号,就会自动包括对空指针的测试,从而替换了鼠的if-

then语句的嵌套,例如: ``

    public String getPostcode(Person person) {

String ans= null;

if (person != null) {

Name nm= person.getName();

if (nm!= null) {

ans= nm.getPostcode();

}

}

return ans

}

有了这个: ``

public String getFirstName(Person person) {

return person?.getName()?.getGivenName();

}

我搜寻了互联网(好吧,我花了至少15分钟的时间在“

java问号”上搜索了各种变体),但一无所获。所以,我的问题是:是否有任何官方文件?我发现C#有一个类似的运算符(“

??”运算符),但是我想获取我正在使用的语言的文档。或者,这仅仅是对我使用的三元运算符的使用从没见过。

谢谢!

编辑:链接到文章:http : //infoworld.com/d/developer-world/12-programming-

mistakes-avoid-292

回答:

最初的想法来自groovy。它是针对Java 7提出的,作为Project

Coin的一部分:https://wiki.openjdk.java.net/display/Coin/2009+Proposals+TOC(猫王和其他Null-

Safe运算符),但尚未被接受。

提出了相关的Elvis运算符?:的x ?: y简称x != null ? x : y,特别适用于x是复杂表达式的情况。

以上是 Java“?” 用于检查null的运算符-这是什么?(不是三元!) 的全部内容, 来源链接: utcz.com/qa/399250.html

回到顶部