ICU-21249 Fixed some coding problems found by Spotbugs

See #1382
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/impl/units/UnitConverter.java b/icu4j/main/classes/core/src/com/ibm/icu/impl/units/UnitConverter.java
index bc8f068..016282e 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/impl/units/UnitConverter.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/impl/units/UnitConverter.java
@@ -128,7 +128,7 @@
             assert (!factor.isEmpty());
 
             // Remove all spaces in the factor
-            factor.replaceAll("\\s+", "");
+            factor = factor.replaceAll("\\s+", "");
 
             String[] fractions = factor.split("/");
             assert (fractions.length == 1 || fractions.length == 2);
@@ -153,10 +153,9 @@
         }
 
         /**
-         * Clone this <code>Factor</code>.
+         * Copy this <code>Factor</code>.
          */
-        @Override
-        protected Factor clone() {
+        protected Factor copy() {
             Factor result = new Factor();
             result.factorNum = this.factorNum;
             result.factorDen = this.factorDen;
@@ -175,7 +174,7 @@
          * Returns a single `BigDecimal` that represent the conversion rate after substituting all the constants.
          */
         public BigDecimal getConversionRate() {
-            Factor resultCollector = this.clone();
+            Factor resultCollector = this.copy();
 
             resultCollector.substitute(new BigDecimal("0.3048"), this.CONSTANT_FT2M);
             resultCollector.substitute(new BigDecimal("411557987.0").divide(new BigDecimal("131002976.0"), DECIMAL128), this.CONSTANT_PI);
@@ -199,7 +198,7 @@
         }
 
         public Factor applySiPrefix(MeasureUnit.SIPrefix siPrefix) {
-            Factor result = this.clone();
+            Factor result = this.copy();
             if (siPrefix == MeasureUnit.SIPrefix.ONE) {
                 return result;
             }
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/impl/units/UnitsData.java b/icu4j/main/classes/core/src/com/ibm/icu/impl/units/UnitsData.java
index 5c7b028..428fdaf 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/impl/units/UnitsData.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/impl/units/UnitsData.java
@@ -168,7 +168,7 @@
 
         @Override
         public void put(UResource.Key key, UResource.Value value, boolean noFallback) {
-            assert (key.toString() == Constants.CATEGORY_TABLE_NAME);
+            assert (key.toString().equals(Constants.CATEGORY_TABLE_NAME));
             assert (value.getType() == UResourceBundle.TABLE);
 
             UResource.Table categoryTable = value.getTable();
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/ULocale.java b/icu4j/main/classes/core/src/com/ibm/icu/util/ULocale.java
index 6ddbbe6..44409d9 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/ULocale.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/ULocale.java
@@ -1544,7 +1544,7 @@
             } else {
                 replacedRegion = replacement.get(0);
             }
-            assert this.region != replacedRegion;
+            assert !this.region.equals(replacedRegion);
             this.region = replacedRegion;
             // The region is changed by data in territory alias.
             return true;
@@ -1557,7 +1557,7 @@
                 // Found no replacement data for this script.
                 return false;
             }
-            assert this.script != replacement;
+            assert !this.script.equals(replacement);
             this.script = replacement;
             // The script is changed by data in script alias.
             return true;