我正在读书一篇信息世界文章(链接到 Wayback machine,因为摘录已被删除),并发现了这个小花絮:
以最新版本的 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# 有一个类似的运算符(“??”运算符),但我想获取我正在使用的语言的文档。或者,这只是我使用的三元运算符的使用从未见过。
Thanks!
最初的想法来自groovy。它是作为 Project Coin 的一部分针对 Java 7 提出的:https://wiki.openjdk.java.net/display/Coin/2009+Proposals+TOC(Elvis 和其他空安全运算符),但尚未被接受。
相关的 Elvis 运算符 ?: 被建议制作x ?: y
简写为x != null ? x : y
,当 x 是复杂表达式时特别有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)