VariantDraft
CWE-581Object Model Violation: Just One of Equals and Hashcode Defined
Category: other
Description
The product does not maintain equal hashcodes for equal objects.
Java objects are expected to obey a number of invariants related to equality. One of these invariants is that equal objects must have equal hashcodes. In other words, if a.equals(b) == true then a.hashCode() == b.hashCode().
Common consequences· 1
- Integrity / Other — OtherIf this invariant is not upheld, it is likely to cause trouble if objects of this class are stored in a collection. If the objects of the class in question are used as a key in a Hashtable or if they are inserted into a Map or Set, it is critical that equal objects have equal hashcodes.
Potential mitigations· 1
- [Implementation]Both Equals() and Hashcode() should be defined.
References
Related by meaning· 6
Nearest entities by semantic similarity across the cs-graph corpus.