What is the appropriate definition of the hashCode method in class Person?

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?

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?

A.
return super.hashCode();

B.
return name.hashCode() + age * 7;

C.
return name.hashCode() + comment.hashCode() / 2;

D.
return name.hashCode() + comment.hashCode() / 2 – age * 3;



Leave a Reply 1

Your email address will not be published. Required fields are marked *