爪哇 “?”用于检查 null 的运算符 - 它是什么?(不是三元的!
我正在阅读一篇从slashdot故事链接的文章,并遇到了这个小花絮:
以最新版本的Java为例,它试图通过为无休止的指针测试提供速记语法来使空指针检查更容易。只需在每个方法调用中添加一个问号,就会自动包含对空指针的测试,从而替换 if-then 语句的 rat 巢,例如:
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