Assuming the hashCode and equals methods are correctly implemented is the following statement true or false?
“If two objects return the same hashCode value they must be equal according to the equals method”
1 True
2 False
Assuming the hashCode and equals methods are correctly implemented is the following statement true or false?
“If two objects return the same hashCode value they must be equal according to the equals method”
1 True
2 False
true
:roll: pq?
true!!
porque objetos que usando o metodo equals() e retornam true, geral hashcode() iguais!!!
tendeu!!!
:lolgoku: :triunfo: :roto: :arrg:
True, mas se 2 códigos hashcode for iguais não quer dizer que a verificação de equals retornará true.
Se iguals é igual a true obrigatoriamente os códigos hashcode deve retornar true.
True, mas se 2 códigos hashcode for iguais não quer dizer que a verificação de equals retornará true.
Se iguals é igual a true obrigatoriamente os códigos hashcode deve retornar true.
True, mas se 2 códigos hashcode for iguais não quer dizer que a verificação de equals retornará true.
Se iguals é igual a true obrigatoriamente os códigos hashcode deve retornar true.
opa!
bom, ou eu traduzi errado a afirmação ou o pessoal se contradisse…
pelo que eu traduzi:
Se dois objetos retornam o mesmo valor hashCode eles devem ser iguais de acordo com o método equals.
se for isso mesmo, então a resposta é false. Por que? pelo que eu li:
se o1.equals(o2), então o1.hashCode() deve ser igual o2.hashCode()
se !o1.equals(o2), então o1.hashCode() pode (não obrigatoriamente) ser diferente o2.hashCode()
se o1.hashCode() != o2.hashCode(), então o1.equals(o2) deve retornar false
se o1.hashCode() == o2.hashCode(), então o1.equals(o2) pode (não obrigatoriamente) retornar true
então, de acordo com isso, acredito que a resposta correta é false
valeu,
té+
Tb acho q é false, como ja foi explicado ae, se 2 objetos tem o hashCode igual não obrigatoriamente equals retornara true. Se na pergunta tivesse ‘could’ em vez de ‘must’ ae acho q seria true.
CURIOSIDADES:
As 3 leis do hashcode:
Consistente em tempo de execurção, ou seja, em runtime, o hashcode pra um determinado obj num determinado estado deve sempre ser o mesmo;
Para dois objetos iguais, segundo o método equals (AMARRAÇÃO COM O MÉTODO EQUALS), deve-se ter obrigatoriamente um mesmo hashcode;
Dois objetos diferentes não precisam necessariamente terem hashcode diferentes, embora seja altamente recomendável;
As cinco leis do método equals:
tb concordo que o ‘must be’ é MUITO FORTE.
resposta: FALSE
Se os métodos hashCode() e equals() fossem herdados de Object, e não implementados na classe, aí sim, a resposta seria true.
É false, tb interpretei mal a pergunta pensei que na pergunta estava dizendo que o hashcode é true e que o equals tb é true.
Sendo assim se o hashcode é true não obrigatoriamente equals vai ser.
Só memorizem que se for equals o código hashcode [b]MUST, MUST[/b] igual.
Hehehe, bons estudos.