有个问题,是不是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 星