如果只重载ID或者name中的一个的时候,返回的是true,但是重载两个的时候就会返回false了,这是为什么呢?
用eclipse自动生成equals方法,默认的就是object形式,即是
public boolean equals(object obj){
return(this==obj); } 就是你只打一个勾,选择一个参数的时候。但是当你选择两个参数的时候 ,就是重写了equals的方法,你去看看string时候的equal和object的区别,就会明白
看来是我没有表述清楚。我的意思是用eclipse自动生成equals方法,生成的时候把ID,name两个属性都打上勾,然后再main函数中判断的时候,比如说,输入名字判断课程是否存在,按道理应该是输出true的,但是会输出false。 如果在生成equals方法的时候仅仅打一个勾,即只选择ID或者name,那么判断的时候便能输出true.
重载两个参数我觉得你在比较的时候两个就都要比较用&&