jdk/src/java.base/share/classes/java/text/DateFormatSymbols.java
changeset 34774 03b4e6dc367b
parent 25859 3317bb8137f4
child 36241 69169578a67f
equal deleted inserted replaced
34764:f9bcdce2df26 34774:03b4e6dc367b
   628             hashCode = 11 * hashCode + Arrays.hashCode(weekdays);
   628             hashCode = 11 * hashCode + Arrays.hashCode(weekdays);
   629             hashCode = 11 * hashCode + Arrays.hashCode(shortWeekdays);
   629             hashCode = 11 * hashCode + Arrays.hashCode(shortWeekdays);
   630             hashCode = 11 * hashCode + Arrays.hashCode(ampms);
   630             hashCode = 11 * hashCode + Arrays.hashCode(ampms);
   631             hashCode = 11 * hashCode + Arrays.deepHashCode(getZoneStringsWrapper());
   631             hashCode = 11 * hashCode + Arrays.deepHashCode(getZoneStringsWrapper());
   632             hashCode = 11 * hashCode + Objects.hashCode(localPatternChars);
   632             hashCode = 11 * hashCode + Objects.hashCode(localPatternChars);
   633             cachedHashCode = hashCode;
   633             if (hashCode != 0) {
       
   634                 cachedHashCode = hashCode;
       
   635             }
   634         }
   636         }
   635 
   637 
   636         return hashCode;
   638         return hashCode;
   637     }
   639     }
   638 
   640 
   668      * Cache to hold DateFormatSymbols instances per Locale.
   670      * Cache to hold DateFormatSymbols instances per Locale.
   669      */
   671      */
   670     private static final ConcurrentMap<Locale, SoftReference<DateFormatSymbols>> cachedInstances
   672     private static final ConcurrentMap<Locale, SoftReference<DateFormatSymbols>> cachedInstances
   671         = new ConcurrentHashMap<>(3);
   673         = new ConcurrentHashMap<>(3);
   672 
   674 
   673     private transient int lastZoneIndex = 0;
   675     private transient int lastZoneIndex;
   674 
   676 
   675     /**
   677     /**
   676      * Cached hash code
   678      * Cached hash code
   677      */
   679      */
   678     transient volatile int cachedHashCode = 0;
   680     transient volatile int cachedHashCode;
   679 
   681 
   680     private void initializeData(Locale desiredLocale) {
   682     private void initializeData(Locale desiredLocale) {
   681         locale = desiredLocale;
   683         locale = desiredLocale;
   682 
   684 
   683         // Copy values of a cached instance if any.
   685         // Copy values of a cached instance if any.