作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
这个问题更多的是出于我的好奇心。
我经常使用 Java 的三元运算符来编写更短的代码。但是,我一直在想,如果 if
或 else
条件之一为空,是否可以使用它。更多详情:
int x = some_function();
if (x > 0)
x--;
else
x++;
可以写成x = (x > 0) ? x-1 : x+1;
但是否可以将 if (x > 0) x-1;
写成带有空 else 子句的三元表达式?
最佳答案
But is it possible to write
if (x > 0) x--;
as a ternary expression with an empty else clause?
不,条件运算符需要 三个操作数。如果你愿意,你可以这样做:
x = (x > 0) ? x - 1 : x;
...但是(主观上)我认为清晰度会受到影响。
关于带有空子句的 Java 三元运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19687589/
我是一名优秀的程序员,十分优秀!