Which statement is true?

Given:

11. public class Person {
12. private String name;
13. public Person(String name) {
14. this.name = name;
15. }
16. public boolean equals(Object o) {
17. if ( ! ( o instanceof Person) ) return false;
18. Person p = (Person) o;
19. return p.name.equals(this.name);
20. }
21. }

Which statement is true?

Given:

11. public class Person {
12. private String name;
13. public Person(String name) {
14. this.name = name;
15. }
16. public boolean equals(Object o) {
17. if ( ! ( o instanceof Person) ) return false;
18. Person p = (Person) o;
19. return p.name.equals(this.name);
20. }
21. }

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 0

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