ICU-21333 Port fix from ICU-21258 to internal CLDR API
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/impl/number/CompactData.java b/icu4j/main/classes/core/src/com/ibm/icu/impl/number/CompactData.java
index e2a0d30..b3e536a 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/impl/number/CompactData.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/impl/number/CompactData.java
@@ -98,7 +98,12 @@
.entrySet()) {
byte magnitude = (byte) (magnitudeEntry.getKey().length() - 1);
for (Map.Entry<String, String> pluralEntry : magnitudeEntry.getValue().entrySet()) {
- StandardPlural plural = StandardPlural.fromString(pluralEntry.getKey().toString());
+ String pluralString = pluralEntry.getKey().toString();
+ if ("0".equals(pluralString) || "1".equals(pluralString)) {
+ // TODO(ICU-21258): Handle this case. For now, skip.
+ continue;
+ }
+ StandardPlural plural = StandardPlural.fromString(pluralString);
String patternString = pluralEntry.getValue().toString();
patterns[getIndex(magnitude, plural)] = patternString;
int numZeros = countZeros(patternString);