java - Integer.valueOf() 与 Integer.parseInt()

标签 java string integer decimal-point

除了 Integer.parseInt() 处理减号(如文档所述)之外,Integer.valueOf()Integer 之间是否还有其他区别。 parseInt()?

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

最佳答案

其实 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));
}

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

int million = Integer.parseInt("1,000,000".replace(",", ""));

关于java - Integer.valueOf() 与 Integer.parseInt(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7355024/

相关文章:

java - 扩展嵌套在实现接口(interface)的非基类中的非静态类

json - 遍历 Vimscript 中的字符串或解析 JSON 文件

algorithm - 大整数的除法(模数)(最多 200 位)

javascript - 在 Javascript 中将格式化字符串转换为整数

java - 使用 junit 进行测试时遇到的奇怪问题

java - 将数组插入另一个数组

java - 如何通过代码创建扩展点的扩展而不是在plugin.xml中修改

r - 字符串分割的模式如何成为子字符串本身?

python - 查找 Python 字符串中 UTF-8 字符的索引

Javascript:有没有明确的方法来判断两个整数之和是否大于 max int?