Java的"?."运算符用于检查null - 这是什么?(不是三元运算符!)
- 论坛
- Java的"?."运算符用于检查null - 这是什么?(不是三元运算符!)
26 浏览
Java的"?."运算符用于检查null - 这是什么?(不是三元运算符!)
我正在阅读一篇InfoWorld文章(链接到Wayback机器,因为这段摘录已被删除),然后发现了这个小提示:
以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 question mark"的变种),但没有找到相关资料。所以我的问题是:是否有任何官方文档关于这个?我发现C#也有类似的操作符("??"操作符),但我想找到我正在使用的语言的文档。或者,这只是我以前从未见过的三元运算符的用法。
谢谢!