我们知道Object类中有一个equals()方法,我们在使用集合的时候为了按照需求需要自己重写这个方法,
但是常常会和重载混淆。比如我们重写的时候会这样用equals(Person obj){其中的代码不变}.其实这样用,是重载,不是重写,我们在用这样的equals()比较时,我们会发现,比较的逻辑没有问题啊,怎么在不同的对象比较时,运行结果却有时会返回true,那是因为它根本主没有调用我们写的equals()方法去比较,而是调用的Object类的equals()方法去比较的。所以在重写的时候我们要写成equals(Object obj){}这样才是重写,而equals(Person obj){}这样的写法是重载。 |
|