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;