【发布时间】:2020-04-29 18:08:23
【问题描述】:
如果你尝试:
Integer.valueOf(" 00");
...抛出 java.lang.NumberFormatException。 所以,这很容易通过去除任何空白来解决,即使对于像我这样的 Java 菜鸟也是如此,但我非常感谢任何可以解释为什么 Integer.valueOf() 方法是这样设计的?
你不想让它忽略空白吗?毕竟,在从字符串中提取整数值的上下文中,不能认为空格是模棱两可的。如果我在这个选择上遗漏了一些东西,我相信解释会帮助我成长为一名编码员。谢谢!
【问题讨论】:
-
因为空格只是一个字符。不是数字的字符。你也应该使用
Integer.parseInt(String),它返回一个int。Integer是一种包装类型(通常比原始的int类型慢)。 -
该方法的工作是将字符串解释为整数。空格不是数字符号。如果要扫描字符流中的整数值,还有其他类,如Scanner。
标签: java type-conversion whitespace