I was trying to replicate a bug by using the same instance of SimpleDateFormat across multiple threads. However I got stuck with another problem and did not find any
SimpleDateFormat
actually implements hashCode
by returning the hashcode of the pattern.
You can verify that there are actually distinct objects by using System.identityHashCode():
System.out.println("d1 = " + d1 + " / " + System.identityHashCode(d1));
System.out.println("d2 = " + d2 + " / " + System.identityHashCode(d2));
System.out.println("d3 = " + d3 + " / " + System.identityHashCode(d3));
This will print 3 different values.