获取字符串不能转换为整数错误

时间:2014-09-24 19:11:08

标签: android exception

我收到了这个错误,但不知道为什么。在这里

feedArray.get(mJazzy.getCurrentItem()).get("TotalCount_Smasheys") 

返回Object类型。我按照this链接将Object投射到Integer

屏幕1:我在这里进行了检查:

feedArray.get(mJazzy.getCurrentItem()).get("TotalCount_Smasheys") 

得到了价值:

screen 1

屏幕2:我在这里检查过:(整数)(feedArray.get(mJazzy.getCurrentItem())。get(" TotalCount_Smasheys"))并抛出异常:

screen 2

编辑:非常令人困惑。 feedArray.get(mJazzy.getCurrentItem())。get(" TotalCount_Smasheys")返回一个Object,实际上是一个Integer,所以我不能使用(String )就此而言。

4 个答案:

答案 0 :(得分:1)

首先使用String.trim()然后, 而不是转换为整数使用 Integer.parseInt() Integer.valueOf()
它可能会有所帮助。

答案 1 :(得分:0)

那是因为字符串有空格。首先从字符串中删除空格,然后使用Integer.parseInt()将其更改为整数。

您可以使用string.trim()string.replace(" ","")删除空格。

答案 2 :(得分:0)

看起来像" 31"不是整数而是字符串。你试过吗

int i = Integer.valueOf((String) your_object);

答案 3 :(得分:0)

方法

feedArray.get(mJazzy.getCurrentItem()).get("TotalCount_Smasheys")

正在返回String,而不是Integer

使用Integer.parseInt()将其转换为整数:

String countString = (String) feedArray.get(mJazzy.getCurrentItem()).get("TotalCount_Smasheys");
Integer countInt = Integer.parseInt(countString);