JLS:
的最低优先级操作者是lambda表达式的箭头( - >) ,接着由赋值运算符。
遵循哪个方向(增加优先级,减少优先级)?-“跟随”是指分配的优先级较高还是较低(相对于箭头运算符)?我猜想,这是因为“最低”(箭头)表示绝对最低。
据我了解,箭头(->)应该在此普林斯顿的最底部运算符优先级表的(位于所有赋值运算符的下方),因此箭头(->)的优先级为0(零)(根据该表)。
我的理解正确吗?
考试托盘似乎说箭头优先级至少与分配相同。此外,还阐明了箭头的关联性是Left-> To-> Right(与分配不同)。我没有找到JLS的箭头关联性报价。
我一直认为分配优先级原则上最低。
->
是低EST,赋值运算符不能有低呃优先。
IntFunction fo = a->b->a-b; // in test
通常表示->的优先级/关联性。因此,我决定在整个优先级/关联性表中澄清->优先级/关联性,因为对此不确定。
IntUnaryOperator op; op = x -> x;
很有趣。也许(op = x) -> x
因为op = x
不是有效的LambdaParameters
生产实例而不被考虑?
The lowest precedence operator is the arrow of a lambda expression.