为什么bar
下方的foo
方法无法编译,而"select firstName as \"firstName\",
lastName as \"lastName\" from Employee"
没问题?
答案 0 :(得分:3)
这是因为Java的precedence rules。分配的先例低于?
或:
,因此最后会对其进行评估。
这意味着案例bar
会被解析如下:
return (s != null ? s : s) = "bar";
对编译器没有意义。
如果插入我在上面显示的括号,您将看到编译器在同一位置失败并显示相同的错误消息,因为两者实际上是相同的。