小编典典

Integer.valueOf() 与 Integer.parseInt()

all

除了Integer.parseInt()处理减号(如记录)外,和之间还有其他区别Integer.valueOf()Integer.parseInt()

而且由于两者都不能解析,十进制 千位分隔符(产生NumberFormatException),是否有可用的 Java 方法来做到这一点?


阅读 79

收藏
2022-07-17

共1个答案

小编典典

实际上,内部valueOf使用parseInt。不同之处在于parseInt返回一个int原语,而valueOf返回一个Integer对象。从
Integer.class 源考虑:

public static int parseInt(String s) throws NumberFormatException {
    return parseInt(s, 10);
}

public static Integer valueOf(String s, int radix) throws NumberFormatException {
    return Integer.valueOf(parseInt(s, radix));
}

public static Integer valueOf(String s) throws NumberFormatException {
    return Integer.valueOf(parseInt(s, 10));
}

至于用逗号解析,我不熟悉。我会对它们进行消毒。

int million = Integer.parseInt("1,000,000".replace(",", ""));
2022-07-17