You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Gary D. Gregory (Jira)" <ji...@apache.org> on 2020/03/15 20:36:00 UTC

[jira] [Resolved] (LANG-1527) NumberUtils.createBigDecimal has a redundant argument check

     [ https://issues.apache.org/jira/browse/LANG-1527?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary D. Gregory resolved LANG-1527.
-----------------------------------
    Fix Version/s: 3.10
       Resolution: Fixed

In git master, please verify and close.


> 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
>            Priority: Major
>             Fix For: 3.10
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> 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)