...
Code Block | ||
---|---|---|
| ||
public final class CreditCard { private final int number; public CreditCard(int number) { this.number = (short) number; } public boolean equals(Object o) { if (o == this) return true; if (!(o instanceof CreditCard)) return false; CreditCard cc = (CreditCard)o; return cc.number == number; } public int hashCode() { int result = 7; result = 37*result + number; return result; } public static void main(String[] args) { Map m = new HashMap(); m.put(new CreditCard(100), "Java"); System.out.println(m.get(new CreditCard(100))); } } |
Risk Assessment
TODOOverriding the method equals()
without correspondlingly overriding the method hashCode()
can lead to unexpected results.
Rule | Severity | Likelihood | Remediation Cost | Priority | Level |
---|---|---|---|---|---|
MET31-J | ?? low ?? | unlikely | ?? high | P?? | L?? |
Automated Detection
...