Which statement is true?

Given:

public class Person {
private String name;
public Person(String name) {
this.name = name;
}
public boolean equals(Object o) {
if ( ! ( o instanceof Person) ) return false;
Person p = (Person) o;
return p.name.equals(this.name);
}
}

Which statement is true?

Given:

public class Person {
private String name;
public Person(String name) {
this.name = name;
}
public boolean equals(Object o) {
if ( ! ( o instanceof Person) ) return false;
Person p = (Person) o;
return p.name.equals(this.name);
}
}

Which statement is true?

A.
Compilation fails because the hashCode method is not overridden.

B.
A HashSet could contain multiple Person objects with the same name.

C.
All Person objects will have the same hash code because the hashCode method is not overridden.

D.
If a HashSet contains more than one Person object with name=”Fred”, then removing another Person, also with name=”Fred”, will remove them all.



Leave a Reply 1

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