除了Integer.parseInt()处理减号(如记录)外,和之间还有其他区别Integer.valueOf()吗Integer.parseInt()?
Integer.parseInt()
Integer.valueOf()
而且由于两者都不能解析,为 十进制 千位分隔符(产生NumberFormatException),是否有可用的 Java 方法来做到这一点?
,
NumberFormatException
实际上,内部valueOf使用parseInt。不同之处在于parseInt返回一个int原语,而valueOf返回一个Integer对象。从 Integer.class 源考虑:
valueOf
parseInt
int
Integer
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(",", ""));