有个问题,是不是equals里有哪几个变量判断,hashcode里面就要重写哪几个变量的代码?
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((name == null) ? 0 : name.hashCode());
// result = prime * result + Float.floatToIntBits(score);
result = prime * result + stuID;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj.getClass() == Student.class) {
Student s = (Student)obj;
return s.getName().equals(name)&&(s.getStuID() == stuID);
}
return false;
}29
收起
正在回答
1回答
这都是不一定的,看你的项目需求。包括你equals()中判断什么,判断类中的哪几个属性,都是根据项目需求来写的。祝:学习愉快
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星