-
Bug
-
Resolution: Fixed
-
P3
-
8, 25
-
b20
-
generic
-
generic
| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
|---|---|---|---|---|---|---|
| JDK-8369626 | 25.0.2 | Kieran Farrell | P3 | Resolved | Fixed | b03 |
| JDK-8369627 | 21.0.10-oracle | Kieran Farrell | P3 | Resolved | Fixed | b03 |
| JDK-8370598 | 21.0.10 | Goetz Lindenmaier | P3 | Resolved | Fixed | master |
| JDK-8369628 | 17.0.18-oracle | Kieran Farrell | P3 | Resolved | Fixed | b03 |
| JDK-8370609 | 17.0.18 | Goetz Lindenmaier | P3 | Resolved | Fixed | master |
If two objects are equal according to their equals(Object) method, then calling hashCode() on each of the two objects must produce the same integer result. However, Two SimpleTimeZone are equal but within different hashcode.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Junit testcase
ACTUAL -
95 0
true
java.lang.AssertionError: Contract failed: equals-hashcode on simpleTimeZone2 and simpleTimeZone7
---------- BEGIN SOURCE ----------
@Test
public void test03() throws Throwable {
java.util.SimpleTimeZone simpleTimeZone2 = new java.util.SimpleTimeZone( 0, "hi!");
simpleTimeZone2.setStartYear( -1);
java.util.SimpleTimeZone simpleTimeZone7 = new java.util.SimpleTimeZone( 0, "hi!");
simpleTimeZone7.setStartYear( -1);
simpleTimeZone2.setEndRule(10, 0, (int) '4', (int) 'a');
System.out.println(simpleTimeZone2.hashCode() + " " + simpleTimeZone7.hashCode());
System.out.println(simpleTimeZone2.equals(simpleTimeZone7));
org.junit.Assert.assertTrue("Contract failed: equals-hashcode on simpleTimeZone2 and simpleTimeZone7", simpleTimeZone2.equals(simpleTimeZone7) ? simpleTimeZone2.hashCode() == simpleTimeZone7.hashCode() : true);
}
---------- END SOURCE ----------
- backported by
-
JDK-8369626 SimpleTimeZone equals() Returns True for Unequal Instances with Different hashCode Values
-
- Resolved
-
-
JDK-8369627 SimpleTimeZone equals() Returns True for Unequal Instances with Different hashCode Values
-
- Resolved
-
-
JDK-8369628 SimpleTimeZone equals() Returns True for Unequal Instances with Different hashCode Values
-
- Resolved
-
-
JDK-8370598 SimpleTimeZone equals() Returns True for Unequal Instances with Different hashCode Values
-
- Resolved
-
-
JDK-8370609 SimpleTimeZone equals() Returns True for Unequal Instances with Different hashCode Values
-
- Resolved
-
- links to
-
Commit(master)
openjdk/jdk17u-dev/26746a96
-
Commit(master)
openjdk/jdk21u-dev/0a689515
-
Commit(master)
openjdk/jdk25u/28eaab42
-
Commit(master)
openjdk/jdk/37b725d9
-
Review(jdk25)
openjdk/jdk/27772
-
Review(master)
openjdk/jdk17u-dev/4098
-
Review(master)
openjdk/jdk21u-dev/2386
-
Review(master)
openjdk/jdk25u/297
-
Review(master)
openjdk/jdk/27660