Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Primeiros Passos - Comparando Objetos - exercício 5

Fiquei com dúvida no exercício 4 sobre mesmo tema(comparação de objetos), e continuo com dúvida no exercício 5.

Abaixo minha solução: Funcionario f1; f1 = new Funcionario(); f1.matricula=900;

Funcionario f2; f2 = new Funcionario(); f1 = f2; =============> aqui entendo que estou atribuindo os valores de f2 a f1, conforme sugestão do exercício. f2.matricula=888; =====> aqui no meu entendimento alterei o valor de um atributo de f2.

Se eu comparar f1==f2, teria que ser "diferente" e dá "igual".

==> Gostaria de entender quando faço f1=f2, o que acontece ?

Grato.

3 respostas
André, vamos ver se consigo ajudar! rs
Quando vc faz f1 = f2 você não está atribuindo os valores de f2 para f1 e sim atribuindo a referência de f2 para f1, ou seja quando vc faz f1 == f2 o resulta é igual pois ambas apontam para o mesmo lugar.
Outra coisa, para comparar valores de objetos vc pode utilizar o método EQUALS.
solução!

Quando é feito

f1 = f2

está sendo dito que f1 irá apontar para o mesmo endereço de memória que f2. Ou seja, se após isso eu fizer uma alteração em f2, essa alteração será refletida em f1, pois ambos apontam para a mesma área de memória.

Pessoal, obrigado pela explicação.