int flag = Integer.parseInt((String) arg0.getValueByField(Constants.FLAG));
在这里,在Storm中 arg0.getValueByField(String)
返回对象类型。在这种情况下,它实际上是一个整数。但是为了在下一个bolt中得到这个值作为整数,我编写了上面的代码行。但它给了类强制转换一个例外。你能告诉我它有什么问题吗(铸造还是什么?)。之后我还试过这个:
int flag = Integer.parseInt(arg0.getValueByField(Constants.FLAG).toString());
但还是一样的例外。
2条答案
按热度按时间vfhzx4xs1#
如果返回的值
arg0.getValueByField(Constants.FLAG)
属于类型Integer
你不能把它扔给别人String
和你一样。简单地使用强制转换
Integer
:9o685dep2#
在元组中找到您正在接收的内容,然后更改逻辑以处理它。。。