From 135bb1e380f2f3ab1c111cbf1485cf7e9e364e4e Mon Sep 17 00:00:00 2001 From: Yoshito Umaoka Date: Fri, 27 Jul 2018 17:20:55 -0400 Subject: [PATCH] ICU-13413 Migrating some Utility class methods with Java 7 Objects class method Previously, some developers accidentally introduced Java 7 Objects class utility methods. At that time, we once added Java 6 compatible implementation in com.ibm.icu.impl.Utility class. Now, we use Java 7 as the minimum supported Java version, so we can use Java 7 Objects class and methods. There are some extra changes dropping generics type from constructor. For example from `ArrayList output = new ArrayList();` to `ArrayList output = new ArrayList<>();`. The updated syntax is allowed since Java 7. We have eclipse project configured to normalize such expression, therefore, files touched by this commit were automatically updated. These changes are not directly related to Java 7 Objects method replacement. --- .../com/ibm/icu/text/RuleBasedCollator.java | 109 +++++++++--------- .../core/src/com/ibm/icu/impl/Row.java | 12 +- .../core/src/com/ibm/icu/impl/Utility.java | 52 +-------- .../ibm/icu/impl/locale/XLikelySubtags.java | 16 +-- .../ibm/icu/impl/locale/XLocaleDistance.java | 52 ++++----- .../com/ibm/icu/impl/number/MacroProps.java | 36 +++--- .../icu/impl/number/parse/AffixMatcher.java | 16 +-- .../icu/number/LocalizedNumberFormatter.java | 6 +- .../com/ibm/icu/text/DateIntervalInfo.java | 28 ++--- .../src/com/ibm/icu/text/MessageFormat.java | 30 ++--- .../core/src/com/ibm/icu/text/NFRule.java | 11 +- .../core/src/com/ibm/icu/text/NFRuleSet.java | 11 +- .../src/com/ibm/icu/text/PluralFormat.java | 10 +- .../src/com/ibm/icu/util/LocaleMatcher.java | 20 ++-- .../dev/test/serializable/FormatHandler.java | 6 +- .../serializable/SerializableTestUtility.java | 4 +- .../dev/test/util/DataDrivenTestHelper.java | 8 +- .../ibm/icu/dev/text/DecimalFormat_ICU58.java | 12 +- 18 files changed, 199 insertions(+), 240 deletions(-) diff --git a/icu4j/main/classes/collate/src/com/ibm/icu/text/RuleBasedCollator.java b/icu4j/main/classes/collate/src/com/ibm/icu/text/RuleBasedCollator.java index 4ab13439e8e..bd4e833e5c9 100644 --- a/icu4j/main/classes/collate/src/com/ibm/icu/text/RuleBasedCollator.java +++ b/icu4j/main/classes/collate/src/com/ibm/icu/text/RuleBasedCollator.java @@ -13,13 +13,13 @@ import java.lang.reflect.Method; import java.text.CharacterIterator; import java.text.ParseException; import java.util.Arrays; +import java.util.Objects; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; import com.ibm.icu.impl.ClassLoaderUtil; import com.ibm.icu.impl.Normalizer2Impl; import com.ibm.icu.impl.Normalizer2Impl.ReorderingBuffer; -import com.ibm.icu.impl.Utility; import com.ibm.icu.impl.coll.BOCSU; import com.ibm.icu.impl.coll.Collation; import com.ibm.icu.impl.coll.CollationCompare; @@ -72,7 +72,7 @@ import com.ibm.icu.util.VersionInfo; * *

* Note that there are some differences between the Collation rule syntax used in Java and ICU4J: - * + * *