...
| 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
...