为什么我可以添加重复数据

来源:3-11 编程练习

qq_ygy_1

2017-11-06 16:37:09

public boolean equals(Object obj) {
		if (obj == this)
			return true;
		if (obj.getClass() == Student.class) {
			Student stu = (Student) obj;
			return (stu.getStuld() == stuld && (stu.getName()).equals(name));

		}
		return false;
	}

我的eq重写有什么问题吗,为什么我添加2个学号为3的william

写回答

2回答

Suwenxj1989

2018-03-06

你可以debugger看看,好像没有进到重写的equals方法,只进了hashCode方法

0

一叶知秋519

2017-11-06

你把hashCode中关于学号的那段代码去掉了吗?如果还有问题的话,建议你把全部代码贴出来,方便帮助你解答问题。祝学习愉快~

0
huwenxj1989
h 我知道了,这个case工具自动添加的hashCode方法中 有一个Float.floatToIntBits(score); 所以float不相同直接就判断为不等了, 需要把默认的这行代码去了。
h018-03-06
共2条回复

0 学习 · 14452 问题

查看课程