爱问知识人 爱问教育 医院库

关于java 的

首页

关于java 的

题目如下
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.hashColde()/2;
D return name.hashCode() + comment.hashColde()/2 - age * 3;

请高手解析一下这道题 答案是B

提交回答
好评回答
  • 2013-04-28 09:05:34
    很显然是B
    看看equals的实现,仅仅是判断了年龄和姓名就确定是相等的
    因此hashcode只能对age和name两个属性进行处理
    A、C和D是不合适的

    贝***

    2013-04-28 09:05:34

类似问题

换一换

相关推荐

正在加载...
最新资料 推荐信息 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 176-195
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):