Как говорят другие, подпись переопределенного метода должна быть точно такой же.При переопределении методов, чтобы убедиться, что вы переопределяете, используйте аннотацию @Override
над функцией, поэтому IDE, такие как Eclipse, предупредит вас, если вы изменили метод.
Вот как это будет выглядеть:
@Override
public boolean equals(Object obj){
...Your code here...
}
Я бы также предложил переопределить hashCode()
, потому что при вставке элементов в списки, наборы, hastables и т. Д. ... для равенства (и performance) используется hashCode()
(а иногда equals()
нет!)
Таким образом, ваш окончательный код будет:
@Override
public boolean equals(Object obj){
...Your code here...
}
@Override
public int hashCode(){
...Your code here...
}
Больше информации на javadoc