JLS :
O operador de precedência mais baixa é a seta de uma expressão lambda (->) , seguida pelos operadores de atribuição.
Seguido em que direção (prioridade crescente, prioridade decrescente)? - "seguido" significa que a atribuição tem prioridade mais alta ou mais baixa (em relação ao operador de seta)? Eu acho que, aumentando, porque "mais baixo" (para seta) significa absolutamente mais baixo.
Pelo que entendi, a seta (->) deve estar na parte inferior desta tabela de precedência do operador de Princeton (que está abaixo de todos os operadores de atribuição), portanto, a seta (->) possui 0 (zero) nível de prioridade (conforme essa tabela).
Estou correto no meu entendimento?
O ExamTray parece dizer que a prioridade da seta é pelo menos igual à atribuição ... Além disso, esclareceu que a associatividade da seta é Esquerda-> Para-> Direita (ao contrário da atribuição). Não encontrei nenhuma cotação JLS para associatividade de flechas.
Eu sempre pensava que a prioridade da atribuição é principalmente a mais baixa por um motivo.
->
é o baixo est , operadores de atribuição não pode ter baixa er precedência.
IntFunction fo = a->b->a-b; // in test
Implica prioridade / associatividade de -> em geral. Por isso, decidi esclarecer -> lugar de precedência / associatividade em toda a tabela de precedência / associatividade porque me sentia insegura.
IntUnaryOperator op; op = x -> x;
é interessante. Talvez (op = x) -> x
não seja considerado porque op = x
não é uma instância válida da LambdaParameters
produção?
The lowest precedence operator is the arrow of a lambda expression.