无法解析''为整数,然后退出

时间:2012-04-29 03:16:57

标签: java parsing

我遇到了以下崩溃......

04-27 03:19:08.858: E/AndroidRuntime(448): java.lang.RuntimeException: Unable to start activity ComponentInfo{walmart.namespace/walmart.namespace.WalmartActivity}: java.lang.NumberFormatException: unable to parse '' as integer.

我不知道这里的问题是什么,特别是因为我的代码中甚至没有"

这是我的代码......

3 个答案:

答案 0 :(得分:1)

您应该在字段上进行输入验证。根据错误消息,您似乎正在尝试解析空字符串。相反,您应该检查字符串是否为空,然后尝试解析int。

正如Chin Boon指出的那样,你应该使用Integer.parseInt(String)

为了防止程序彻底崩溃,您还可以将该行包装在try / catch块中,捕获NumberFormatException并正确处理它。

答案 1 :(得分:0)

它可能在这条线上......

switch (new Integer(department.getText().toString()).intValue()) {

我会建议department中的某个字符已传入,但不会打印到错误输出中,例如新行字符,制表符或其他空白字符不可打印?

由于输入到字段的方式不确定是否有字符,或者由于unicode或键盘输入异常值而不确定?

你可以检查一下,如果它仍然无效,可以在这里发布一些代码。

答案 2 :(得分:0)

在将字符串解析为整数之前修剪并选择该值。

怀疑可能有空格或换行符。

最好使用Integer类的parseInt方法来实现此目的,尽管new Integer(mystery)隐式使用parseInt。

int a = Integer.parseInt(myStr);