diff options
author | dmeetry <none@none> | 2014-08-01 16:29:46 +0400 |
---|---|---|
committer | dmeetry <none@none> | 2014-08-01 16:29:46 +0400 |
commit | 4f3b625e3beaac6ecb3ef84be554d37b89a240f2 (patch) | |
tree | 280720e6161530a936ce24052dbb1d0171207bab /src/share/classes/java/time | |
parent | 1768f41803cdfeab249e97c8dbc3cc0d5ea8225a (diff) | |
download | jdk8u_jdk-4f3b625e3beaac6ecb3ef84be554d37b89a240f2.tar.gz |
8044671: NPE from JapaneseEra when a new era is defined in calendar.properties
Reviewed-by: okutsu
Diffstat (limited to 'src/share/classes/java/time')
-rw-r--r-- | src/share/classes/java/time/chrono/JapaneseEra.java | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/share/classes/java/time/chrono/JapaneseEra.java b/src/share/classes/java/time/chrono/JapaneseEra.java index 0187565869..0c9e3e81e1 100644 --- a/src/share/classes/java/time/chrono/JapaneseEra.java +++ b/src/share/classes/java/time/chrono/JapaneseEra.java @@ -127,7 +127,7 @@ public final class JapaneseEra // the number of defined JapaneseEra constants. // There could be an extra era defined in its configuration. - private static final int N_ERA_CONSTANTS = HEISEI.getValue() + ERA_OFFSET + 1; + private static final int N_ERA_CONSTANTS = HEISEI.getValue() + ERA_OFFSET; /** * Serialization version. @@ -148,7 +148,7 @@ public final class JapaneseEra for (int i = N_ERA_CONSTANTS; i < ERA_CONFIG.length; i++) { CalendarDate date = ERA_CONFIG[i].getSinceDate(); LocalDate isoDate = LocalDate.of(date.getYear(), date.getMonth(), date.getDayOfMonth()); - KNOWN_ERAS[i] = new JapaneseEra(i - ERA_OFFSET, isoDate); + KNOWN_ERAS[i] = new JapaneseEra(i - ERA_OFFSET + 1, isoDate); } }; @@ -195,7 +195,7 @@ public final class JapaneseEra * @throws DateTimeException if the value is invalid */ public static JapaneseEra of(int japaneseEra) { - if (japaneseEra < MEIJI.eraValue || japaneseEra + ERA_OFFSET - 1 >= KNOWN_ERAS.length) { + if (japaneseEra < MEIJI.eraValue || japaneseEra + ERA_OFFSET > KNOWN_ERAS.length) { throw new DateTimeException("Invalid era: " + japaneseEra); } return KNOWN_ERAS[ordinal(japaneseEra)]; |