Olá, boa noite.
Estou estudando a apostila da Caelum e fiquei com uma dúvida no código dentro do segundo if:
public boolean equals(Object object) {
if (object == null) {
return false;
}
Conta outraConta = (Conta) object;
if (this.numero == outraConta.numero && this.agencia.equals(outraConta.agencia)) {
return true;
}
return false;
}
Qual o real motivo de estar escrito assim:
(this.numero == outraConta.numero && this.agencia.equals(outraConta.agencia)
e não assim (este está mais obvio, mas coloquei para entenderem o contexto):
(this.numero == outraConta.numero && this.agencia == outraConta.agencia)
ou assim:
(this.numero.equals(outraConta.numero) && this.agencia.equals(outraConta.agencia)
ou então:
(this.numero.equals(outraConta.numero) && this.agencia == outraConta.agencia)
Obrigado desde já!