use*_*042 2 java conditional-operator
我知道你可以在java中使用这样的东西:
(a > b) ? a : b;
Run Code Online (Sandbox Code Playgroud)
是否有类似的东西没有其他部分?
Nat*_*hes 13
它是一个表达式,而不是一个声明,这意味着它总是评估某种东西.如果没有"其他部分",那么如果测试结果为假,那么表达式将无法进行评估.所以,不,没有其他没有类似的东西.
我喜欢使用条件运算符的是你可以分配类似的东西
foo = a > b ? c : d;
Run Code Online (Sandbox Code Playgroud)
并且阅读它你知道foo有一些东西分配给它,无论测试是否真实.因此,它为您提供了一种方法来指示分配的值取决于某些测试.
Groovy有一些类似的运算符:
?:如果左边的表达式为null,则Elvis运算符将右侧的值指定为默认值.
?.,如果左侧的计算结果为null,则safe-null运算符的计算结果为null.这对于你有一系列可能为空的东西的情况很方便,例如foo?.bar?.baz,如果某些东西是空的,你宁愿不用NPE,但是不想输入所有的空检查.
| 归档时间: |
|
| 查看次数: |
5086 次 |
| 最近记录: |