【发布时间】:2015-07-14 04:42:21
【问题描述】:
我有这行代码:
List<Long> list = new ArrayList<>();
if (n < 0) throw new RuntimeException();
if (n == 0) return list;
我想使用Ternary condition:
return (n < 0) ? (throw new RuntimeException()) : list;
但我有编译时异常。
【问题讨论】:
-
这对于三元运算符是不可能的。您必须改用
if。 -
我认为应该是三者中的操作。 throws 不是操作。
-
@ryekayo 我有编译时错误,
illegal start of expression -
对于陷入这个问题并寻找 C++ 答案的人。这在 C++ 中是允许的,三元运算符中的一个或两个选项都允许为
throw。也许这就是混乱的根源。 stackoverflow.com/questions/7957696/…
标签: java ternary-operator