这很简单,但我显然错过了一些非常重要的东西。
可能是重复问题:
为什么equals方法在两个相同值对象上失败?
Cat cat1 = new Cat("bob");
Cat cat2 = new Cat("bob");
System.out.println(cat1 == cat2);
//false since these references point to diferent objects
System.out.println(cat1.equals(cat2));
//returns false also??
Cat
只是一个简单的类,只有名称。
这里发生了什么,equals()
是如何工作的?我以为它会比较对象的所有字段,看来似乎不是这种情况。
我需要为所有的类都覆盖吗?