1
13
因为做任何其他事情都没有意义。三元条件运算符必须返回 某些特定类型 --所有表达式都必须在 编译时间 此外,请注意,重载解析也发生在编译时。您试图在这里调用的行为(后期绑定)在Java中不存在这种形式。
表达式的类型必须与
真的
和
假的
子表达式。在本例中,最近的公共祖先类是
这是以工作方式重写现有内容的最简单方法:
您还可以提供
|
2
2
这个 Java Language Specification 说
在你的情况下,让我们采取
来自JLS,关于 the least upper bound (lub)
您可以继续阅读JLS来训练计算lub的精确方式,但从上面的定义中我们可以看出编译器错误消息中提供的内容是有意义的。 记住,三元运算符用作具有单个值的单个表达式。该值在编译时必须具有类型。因此,JLS必须为其规定规则。 这里有一个相关的问题/答案 |
3
1
如果您想使用三元运算符,只有以下代码才能解决您的问题。对于测试,我将false设置为默认值,您可以将条件表达式设置为false。
|
Tanu · 使用三元运算符时获得Lint无嵌套三元错误 2 年前 |
Davtho1983 · 条件运算符不适用于ngStyle 7 年前 |
wibby35 · 是否可以转换为内联? 7 年前 |
user5155804 · 条件表达式中未赋值的指针是否变为空? 7 年前 |
Bryce · PHP切换条件语句更好的方法 7 年前 |
Farvardin · java条件运算符和不同类型 10 年前 |