O objeto de d1 e o objeto que está no Map é o mesmo (leia sobre referências), portanto, quando você altera o atributo name de d1, está alterando o mesmo objeto que está no Map, você deve estar pensando que fica um objeto em d1 com o name = “arthur” e outro no Map com name = “clover”, mas na verdade é um só. Mas quando você faz new Dog(“clover”), aí sim você está criando um segundo objeto, que é diferente do que está no Map, pois o do Map tem o name = “arthur” (era “clover”, mas você alterou com d1.name=“arthur”).
Entendeu? :roll:
B
bigwavesPJ
Entendi agora . Vlw Jair !
L
luBSPJ
É verdade, nem tinha notado isso no código, ja fui direto falando de hashcode
:oops:
de qualquer forma sempre sobrescreva o hashcode tb qdo vc for mexer com tabelas hash.