JLS :
Оператор найнижчого пріоритету - стрілка лямбда-виразу (->) , за якою слідують оператори присвоєння.
Слідкуйте в якому напрямку (збільшуючи пріоритет, зменшуючи пріоритет)? - "наступний" означає, що призначення має більший пріоритет або нижчий пріоритет (стосовно оператора стрілки)? Гадаю, у збільшенні, тому що "найнижчий" (для стрілки) означає абсолютно найнижчий.
Як я розумію, стрілка (->) повинна знаходитися в самій нижній частині цієї таблиці пріоритетів операторів Прінстона (тобто нижче всіх операторів присвоєння), таким чином стрілка (->) має 0 (нульовий) рівень пріоритетності (відповідно до цієї таблиці).
Чи правильно я розумію?
Схоже, ExamTray каже, що пріоритет стрілки принаймні такий самий, як і призначення ... Плюс уточнив, що асоціативність стрілки - ліворуч-> до-> праворуч (на відміну від призначення). Я не знайшов жодної цитати JLS для асоціативності стрілок.
Я завжди вважав, що пріоритет присвоєння принципово низький з причини.
->
це низький Ест , оператори присвоювання не можуть мати низький ер пріоритет.
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.