2009年2月24日 星期二

第210題

Given:
11. public class Person{
12. private String name, comment;
13. private int age;
14. public Person(String n, int a, String c){
15. name = n; age = a; comment = c;
16. }
17. public boolean equals(Object o){
18. if (!(0 instanceof Person)) return false;
19. Person p = (Person)o;
20. return age == p.age && name.equals(p.name);
21. }
22. }

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;
答案:D
參考:12-4-2 equals()、hashCode()方法的改寫
-----------------------------------------------------------------
將所有的屬性放入改寫會比較恰當

1 則留言: