Because ``++Object++`` implements ``++hashCode++``, any Java class can be put into a hash structure. However, classes that define ``++equals(Object)++`` but not ``++hashCode()++`` aren't truly hash-able because instances that are equivalent according to the ``++equals++`` method can return different hashes. == Noncompliant Code Example ---- public class Student { // no hashCode() method; not hash-able // ... public boolean equals(Object o) { // ... } } public class School { private Map studentBody = // okay so far new HashTable(); // Noncompliant // ... ---- == Compliant Solution ---- public class Student { // has hashCode() method; hash-able // ... public boolean equals(Object o) { // ... } public int hashCode() { // ... } } public class School { private Map studentBody = new HashTable(); // ... ---- ifdef::rspecator-view[] == Comments And Links (visible only on this page) include::comments-and-links.adoc[] endif::rspecator-view[]