【发布时间】:2019-11-12 01:12:01
【问题描述】:
强制左关联操作的顺序优先非常容易:
10 - 5 + 3 与 10 - (5 + 3)
但是,我想知道是否有办法通过右关联运算符强制这样的优先级?我很难弄清楚。
例如,如果我在 Java 中工作,我可以强制使用 ++ 或 = 运算符之类的优先级吗?
【问题讨论】:
-
不,我不相信在 Java 中重载运算符的优先级是可能的。使用你已经知道的括号。
-
@TimBiegeleisen 所以,假设我正在使用 Java 中的“~-3”操作。你是说不能强制优先吗?
-
这就是我要说的 :-) ... 如果您想更改默认行为,请使用括号。
-
看起来很有趣,但我不确定你想做什么。你能提供一个表达的例子和期望的结果吗?也许编辑您的问题以提供更多详细信息。
-
@WJS 我只是好奇是否可以使用括号强制右关联运算符的顺序。我认为使用左关联运算符很容易做到这一点。假设我有类似的东西:“x = y = z”。最后,x 将等于 z 的任何值。是否有可能做类似“(x = y)= z”的事情来改变它的评估方式?如果这有任何意义。