如何从字符串转换为整数?使用valueOf()继续获取NumberFormatException;

时间:2013-02-26 22:15:29

标签: java string integer numberformatexception

我正在尝试将字符串转换为Integer(不是原始int),然后将其存储在Stack<Integer>中,但如果我使用这种语法,我会不断获得NumberFormatException

String element = "5 ";
System.out.println(Integer.valueOf(element));

有人可以解释如何正确使用valueOf();吗?

编辑:我试过parseInt();它提供了相同的异常,无论如何我想要它在Integer中,而不是int。

3 个答案:

答案 0 :(得分:8)

Integer.valueOf会拒绝任何非数字字符。手动删除尾随空格或拨打String#trim()

String element = "5 ";
System.out.println(Integer.valueOf(element.trim()));

答案 1 :(得分:4)

它不喜欢这个空间。修剪输入。变化

String element = "5 ";
System.out.println(Integer.valueOf(element));

String element = "5 ";
System.out.println(Integer.valueOf(element.trim()));

如果您使用valueOfparseInt,则无关紧要;似乎都不喜欢尾随空间。

答案 2 :(得分:0)

您应该使用Integer.parseInt()代替,Integer.parseInt(element)

看起来是5之后的空间造成的。 Integer.valueOf(element)仍然可以在没有空间的情况下工作。

干杯。