为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

正在回答

3 回答

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

public boolean equals(object obj){

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信