Time: 0:00
Test a custom input to verify an edge case (e.g. empty lists, negative numbers, duplicates).
This bug belongs to the logic errors pattern
The wrong operator, an inverted condition, a formula the right way round but backwards.
What went wrong: Java's equals and hashCode contract states that if two objects are equal according to equals(), they must produce the exact same hashCode(). Without overriding hashCode(), HashMap looks in the wrong bucket and fails to find the entry.
The fix: Override hashCode() to return Objects.hash(username).
Remember: Whenever you override equals() in Java, you MUST also override hashCode().
The pattern behind it: logic errors.
Paste this into any web page or blog post. Visitors fix the bug right there, in their browser.
<iframe src="https://trybughunt.com/embed/2d1ef838-f1d1-4773-8846-e7d8fd469ae2" title="Debugging challenge: HashMap lookup fails due to missing hashCode" width="100%" height="580" loading="lazy" style="border:1px solid #d4d4d8;border-radius:12px;max-width:760px"></iframe>
<p style="font-size:14px">Debugging challenge from <a href="https://trybughunt.com/challenges/2d1ef838-f1d1-4773-8846-e7d8fd469ae2">TryBugHunt</a></p>