Olá…
O que quer dizer lvalue em Java ?
Consegui uma definição mas mesmo assim continuo não entendendo seu significado.
Obrigado
Olá…
O que quer dizer lvalue em Java ?
Consegui uma definição mas mesmo assim continuo não entendendo seu significado.
Obrigado
Olá,
Todas as linguagens de programação possuem pelo menos um “operador de atribuição” (Java possui vários). O mais comum deles é representado pelo caractere ‘=’.
Numa expressão de atribuição simples, a subexpressão à esquerda do operador é chamada de lvalue; a expressão à direita é chamada de rvalue.
Tanto o rvalue quanto o lvalue têm que ser consistentes sintática e semanticamente. O lvalue tem que ter a capacidade de receber um valor de determinado tipo; o rvalue tem que ser capaz de ‘dar’ um valor.
Exemplo de um rvalue sintaticamente correto, mas semanticamente incorreto:
int a = ob.m();
Se o método m for de tipo void, há uma violação das regras da linguagem.
Exemplos de um lvalue semanticamente errado:
int a = ob.m();
Se o método m retornar um objeto de uma classe qualquer X.
e
final int a = 3;
…
a = 5; // tentativa de reinicializar uma constante
Eis um lvalue sintaticamente errado:
alfa() = 5;