public class CustomSymbolCurrency extends Currency {
private static final long serialVersionUID = 2497493016770137670L;
+ // TODO: Serialization methods?
private String symbol1;
private String symbol2;
public String getCurrencyCode() {
return symbol2;
}
+
+ @Override
+ public int hashCode() {
+ return super.hashCode() ^ symbol1.hashCode() ^ symbol2.hashCode();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ return super.equals(other)
+ && ((CustomSymbolCurrency)other).symbol1.equals(symbol1)
+ && ((CustomSymbolCurrency)other).symbol2.equals(symbol2);
+ }
}
public DecimalQuantity_DualStorageBCD() {
setBcdToZero();
+ flags = 0;
}
public DecimalQuantity_DualStorageBCD(long input) {
StandardPlural plural = quantity.getStandardPlural(rules);
String patternString = data.getPattern(magnitude, plural);
- @SuppressWarnings("unused") // see #13177
+ @SuppressWarnings("unused") // see #13075
int numDigits = -1;
if (patternString == null) {
// Use the default (non-compact) modifier.
NumberStringBuilder temp = new NumberStringBuilder();
int length = micros.modOuter.apply(temp, 0, 0);
length += micros.modMiddle.apply(temp, 0, length);
- length += micros.modInner.apply(temp, 0, length);
+ /* length += */ micros.modInner.apply(temp, 0, length);
int prefixLength = micros.modOuter.getPrefixLength() + micros.modMiddle.getPrefixLength()
+ micros.modInner.getPrefixLength();
return temp.subSequence(0, prefixLength).toString();
if (cc == digitStr.length()) {
// One code point in this digit.
// If it is 1 UTF-16 code unit long, set it in tmpDigits.
- if (cc == 1) {
+ if (cc == 1 && tmpDigits != null) {
tmpDigits[i] = (char) cp;
} else {
tmpDigits = null;