course类中equals重载了ID和name,为什么会返回false

来源:6-1 学生选课---判断 List 中课程是否存在

咚冬呛

2016-04-12 13:00

如果只重载ID或者name中的一个的时候,返回的是true,但是重载两个的时候就会返回false了,这是为什么呢?

写回答 关注

3回答

  • ann会很好
    2016-04-18 10:24:54

    用eclipse自动生成equals方法,默认的就是object形式,即是

    public boolean equals(object obj){

    return(this==obj); }  就是你只打一个勾,选择一个参数的时候。但是当你选择两个参数的时候 ,就是重写了equals的方法,你去看看string时候的equal和object的区别,就会明白

  • 咚冬呛
    2016-04-12 22:31:50

    看来是我没有表述清楚。我的意思是用eclipse自动生成equals方法,生成的时候把ID,name两个属性都打上勾,然后再main函数中判断的时候,比如说,输入名字判断课程是否存在,按道理应该是输出true的,但是会输出false。  如果在生成equals方法的时候仅仅打一个勾,即只选择ID或者name,那么判断的时候便能输出true.

  • qq_无形的浪子_0
    2016-04-12 15:52:16

    重载两个参数我觉得你在比较的时候两个就都要比较用&&

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题