123456789101112131415



Question 1: 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 appropriate definition of the hashCode method in class Person?

1. return super.hashCode();
2. return name.hashCode() + age * 7;
3. return name.hashCode() + comment.hashCode() / 2;
4. return name.hashCode() + comment.hashCode() / 2 - age * 3;