在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
是具有一堆字段的类,这些字段都需要相等才能实现对象相等。
尽早比较引用相等性使您不必检查引用对象上的每个字段,因为它们保证相等。
检查引用相等性的速度非常快,因此他们最好在进行更积极的比较之前将其排除在外。