为什么对非字符串对象使用.equals(Object)方法?

时间:2015-11-05 18:31:38

标签: java object equals

为什么有人会使用.equals(Object)方法而不是“==”来表示非字符串对象?仅仅因为我们可以覆盖.equals(Object)?

1 个答案:

答案 0 :(得分:4)

“==”比较两个对象(内存地址)的标识。如果你有两个人对象,他们有相同的姓氏,年龄,性别......,那么他们应该是同一个人。但是,由于您在代码中单独创建了两个人对象,因此当您使用“==”时,您将得出结论,他们是两个不同的人。但如果你覆盖“等于”那么你可以断定他们是同一个人。

查看“Effective java”(如果不是最好的话,那里有一本最好的Java书籍)。这里有一些好的东西。