hbw-utils - 关于hutool的parseInt方法

130 阅读1分钟

世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。

以下是hutool中对parseInt的实现,如果以0x开头会自动认为是16进制并转化,对于这点我并不是太认同,我还是认为最纯粹的使用起来会最精确。万一失手写错了却返回一个转化16进制后的值,这种错误在实际中是很难排查的。

public static int parseInt(String number) throws NumberFormatException {
        if (StrUtil.isBlank(number)) {
            return 0;
        } else {
            number = StrUtil.subBefore(number, '.', false);
            if (StrUtil.isEmpty(number)) {
                return 0;
            } else {
                return StrUtil.startWithIgnoreCase(number, "0x") ? Integer.parseInt(number.substring(2), 16) : Integer.parseInt(removeNumberFlag(number));
            }
        }
    }

在这里插入图片描述