java - Eclipse 自动生成 equals() 方法

标签 java eclipse equals

在eclipse自动生成的equals方法中,第一行比较引用相等性

if(this == obj) return true;

据我所知 == 并不是真正的相等检查,它仅检查 2 个引用是否指向同一内存位置。那么为什么要使用它呢?

最佳答案

假设您有两个推荐人

Foo foo = new Foo("some value", " many parameter", 1, 2, 3, 5); 
Foo foo2 = foo;

if (foo2.equals(foo))
    // do something

其中 Foo 是一个具有一堆字段的类,这些字段都需要相等才能实现对象相等。

尽早比较引用相等性可以使您不必检查引用对象上的每个字段,因为它们保证相等。

关于java - Eclipse 自动生成 equals() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19943164/

相关文章:

javaME 游戏创建帮助

python - 安卓工作室 : IncorrectOperationException when 'Add as Library' is clicked whilst trying to configure Google Apps Endpoints client libraries

Eclipse "Server Locations"部分已禁用,需要更改才能使用 Tomcat 安装

c - char和int的严格比较

java为什么equals方法的入参应该是Object

java - Lucene 4.3.1备份过程

Java 实体 - 存储日期

java - 在非 native 应用程序中将号码添加到 iPhone 或 Android 手机联系人列表

eclipse - 以编程方式打开 Eclipse 帮助窗口中的特定帮助主题?

c# - 检查集合是否包含具有特定属性的元素