Naming a method hashcode() is either:
Object.hashCode() was meant and the application does not behave as expected.In both cases, the method should be renamed.
The following code:
public int hashcode() { /* ... */ } // Non-Compliant
should be refactored into:
@Override
public int hashCode() { /* ... */ } // Compliant