添加重复数据问题!

添加重复数据问题!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67



 


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
FANGYUAN_ 2017-09-06 08:11:53

ps:突然想问老师一个问题,

为什么将代码里面的判断重复条件稍加修改只判断学生ID时,就算是相同的学生id的信息(同id分数稍有不同)却可以添加进去?

//equals方法
@Override
public boolean equals(Object obj) {
    if (this == obj)
        return true;
    if(obj.getClass()==Student.class){
        Student student=(Student)obj;
        if (student.getStuId()==stuId){
            System.out.println("重复数据");
            return true;                  
    }
    }
 
    return false;     
}


  • hashCode()方法是否也更改了呢,hashCode()中也要只有id的内容,没有其他的,不然每个对象的hashCode()值都不一样
    2017-09-06 09:38:53
  • 原来如此!谢谢老师!搞定了!
    2017-09-06 12:46:15
FANGYUAN_ 2017-09-06 08:03:42

Student four = new Student(2, "Lucy", 80.0f);

Student three = new Student(2, "Lucy", 95.0f);

好像不是同一个数据吧。。。

if (student.getStuId()==this.stuId &&(student.getName().equals(this.name))&&(student.getScore()==this.score)){
                System.out.println("重复数据");
                return true;
            }

认真看一下你的判断条件 和你给出的添加数据

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师