Pengyu Nie created LANG-1527:
--------------------------------

             Summary: NumberUtils.createBigDecimal has a redundant argument 
check
                 Key: LANG-1527
                 URL: https://issues.apache.org/jira/browse/LANG-1527
             Project: Commons Lang
          Issue Type: Improvement
          Components: lang.math.*
            Reporter: Pengyu Nie


NumberUtils.createBigDecimal(String) has an argument check
 `str.trim().startsWith("--")`, which was added almost 20 years ago to
 handle a bug in JDK at that time. The corresponding check is already
 in place in nowadays' JDK and this check is redundant.
{code:java}
public static BigDecimal createBigDecimal(final String str) {
    if (str == null) {
        return null;
    }
    // handle JDK1.3.1 bug where "" throws IndexOutOfBoundsException
    if (StringUtils.isBlank(str)) {
        throw new NumberFormatException("A blank string is not a valid number");
    }
    if (str.trim().startsWith("--")) {
        // this is protection for poorness in java.lang.BigDecimal.
        // it accepts this as a legal value, but it does not appear
        // to be in specification of class. OS X Java parses it to
        // a wrong value.
        throw new NumberFormatException(str + " is not a valid number.");
    }
    return new BigDecimal(str);
}
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to