JLS :
Operatorem o najniższym priorytecie jest strzałka wyrażenia lambda (->) , po której następują operatory przypisania.
Podążano w jakim kierunku (zwiększenie priorytetu, zmniejszenie priorytetu)? - „obserwowane” oznacza przypisanie o wyższym priorytecie lub niższym priorytecie (w odniesieniu do operatora strzałki)? Wydaje mi się, że rośnie, ponieważ „najniższy” (dla strzałki) oznacza absolutnie najniższy.
Jak rozumiem, strzałka (->) powinna znajdować się na samym dole tabeli pierwszeństwa operatora Princeton (czyli poniżej wszystkich operatorów przypisania), a zatem strzałka (->) ma poziom priorytetu 0 (zero) (zgodnie z tą tabelą).
Czy mam rację w moim rozumieniu?
ExamTray wydaje się mówić, że priorytet strzały jest co najmniej taki sam jak przypisanie ... Plus wyjaśnił, że skojarzenie strzały jest Lewo-> To-> Prawo (w przeciwieństwie do przypisania). Nie znalazłem żadnego cytatu JLS dotyczącego asocjatywności strzał.
Zawsze uważałem, że z jakiegoś powodu priorytet przydziału jest zasadniczo najniższy.
->
jest niska est , operatory przypisania nie może mieć niską er pierwszeństwo.
IntFunction fo = a->b->a-b; // in test
Implikuje priorytet / powiązanie -> ogólnie. Postanowiłem więc wyjaśnić -> miejsce pierwszeństwa / skojarzenia w całej tabeli pierwszeństwa / skojarzenia, ponieważ czułem się niepewnie.
IntUnaryOperator op; op = x -> x;
jest interesujący. Być może (op = x) -> x
nie jest brany pod uwagę, ponieważ op = x
nie jest prawidłową instancją LambdaParameters
produkcji?
The lowest precedence operator is the arrow of a lambda expression.