--- old/src/java.xml/share/classes/javax/xml/datatype/XMLGregorianCalendar.java 2020-08-07 17:13:25.565300385 +0000 +++ new/src/java.xml/share/classes/javax/xml/datatype/XMLGregorianCalendar.java 2020-08-07 17:13:25.267292721 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -28,6 +28,7 @@ import javax.xml.namespace.QName; import java.math.BigDecimal; import java.math.BigInteger; +import java.util.Arrays; import java.util.TimeZone; import java.util.GregorianCalendar; @@ -716,12 +717,10 @@ if (timezone != 0) { gc = this.normalize(); } - return gc.getYear() - + gc.getMonth() - + gc.getDay() - + gc.getHour() - + gc.getMinute() - + gc.getSecond(); + + int[] elements = {gc.getYear(), gc.getMonth(), gc.getDay(), gc.getHour(), + gc.getMinute(), gc.getSecond(), gc.getMillisecond()}; + return Arrays.hashCode(elements); } /**