除了 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/