为什么有人会使用.equals(Object)方法而不是“==”来表示非字符串对象?仅仅因为我们可以覆盖.equals(Object)?
答案 0 :(得分:4)
“==”比较两个对象(内存地址)的标识。如果你有两个人对象,他们有相同的姓氏,年龄,性别......,那么他们应该是同一个人。但是,由于您在代码中单独创建了两个人对象,因此当您使用“==”时,您将得出结论,他们是两个不同的人。但如果你覆盖“等于”那么你可以断定他们是同一个人。
查看“Effective java”(如果不是最好的话,那里有一本最好的Java书籍)。这里有一些好的东西。