Não entendi essa questão do Testkiller:
Given:
public class Person {
private String name, comment;
private int age;
public Person(String n, int a, String c) {
name = n; age = a; comment = c;
}
public boolean equals(Object o){
if (! (o instanceof Person)) return false;
Person p = (Person)o;
return age == p.age && name.equals(p.name);
}
}
What is the appropriated definition o the hashCode method in class Person?
A. return super.hashCode();
B. return super.hashCode() + age * 7;
C. return super.hashCode() + comment.hashCode() / 2;
D. return super.hashCode() + comment.hashCode() / 2 - age * 3;
Answer: B
Para mim, todas estão erradas… Não entendi por que a B está correta. Alguém sabe me explicar?
