rspec/rules/S1206/description.adoc

10 lines
760 B
Plaintext
Raw Normal View History

According to the Java Language Specification, there is a contract between `+equals(Object)+` and `+hashCode()+`:
2020-06-30 12:47:33 +02:00
{quote}
If two objects are equal according to the `+equals(Object)+` method, then calling the `+hashCode+` method on each of the two objects must produce the same integer result.
It is not required that if two objects are unequal according to the `+equals(java.lang.Object)+` method, then calling the `+hashCode+` method on each of the two objects must produce distinct integer results.
2020-06-30 12:47:33 +02:00
However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hashtables.
{quote}
In order to comply with this contract, those methods should be either both inherited, or both overridden.