logo

CWE-581 - Object Model Violation: Just One of Equals and Hashcode Defined

CWE-581

  • Abstraction:
  • Variant
  • Structure:
  • Simple
  • Status:
  • Draft
Weakness Name

Object Model Violation: Just One of Equals and Hashcode Defined

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

Scope: Integrity, Other

Impact: Other

Notes: If 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.

Related Weaknesses
  • Release Date:
  • 2006-12-15
  • Latest Modification Date:
  • 2024-02-29

Free security scan for your website