我想知道是否可以在表达式的最后部分使用Groovy null safe运算符。我见过这个:
a?.b?.c
但我似乎无法使用a?.b?.c?
我需要在if语句检查中使用它,而不是这样做:
if (a.b.c != null && (a.b.c == something))
我可以像这样简写:
if (a.b.c? == something)
由于
答案 0 :(得分:1)
你需要
if (a?.b?.c == something)
最后的?
不会添加任何内容(即使它确实有效),因为短路操作符只是确保表达式中的下一个内容可以干净地处理null
答案 1 :(得分:1)
null-check检查变量BEFORE ?
,以确保可以调用属性AFTER。如果不满足其中一个条件,则使用运算符
更新
您可以拨打equals
if( a.b.c?.equals( something ) )