java - equals and hashCode -
I am running a question about equal and hashcode contracts: here
Is:
class SortOf {String name; Int hair; String code; Small rate; Public Ent Hashod () {Return (Code: Lang () * Child); } Public boolean equivalent (object o) {// insert code here}} Which of the following will meet the (and) Hashod () contracts equal to this class? (Select all that apply.)
Correct answer C:
return (sortoff) .code.length () * ((SortOf) o) . == this.code.length () * this.bal; D:
return (sortoff) .cod.line () * ((sortoff) o) .bill * ((sortoff) O) .rate == this.code.length () * this.bal * this.rate; I have a question about the last option D, if two objects
a: code.length = 10, bal = 10, rate = 100
B: code.length = 10, bal = 100, rate = 10
Then we get the A using the ? But then they get a different hashod because they have different remains? Is it that I somewhere misunderstood the concept? Can anyone explain this to me? par () method in D Is true correct to evaluate .equals (B)
You are right - D will be inappropriate for this reason.
More generally, hashode and equal basically take the same field in the same way, in the same way. This is a very weird equivalent to begin with implementation, of course - you should check the similarity between each field normally included in some cases field related to the difference. Which allows multiplication etc., but I would not expect that string length be included ...
An important point that often confuses people that it is is unequal Vas Valid to the same hash code for Uon; This is the case that you highlighted (same object with different hash code) which is unacceptable.
Comments
Post a Comment