这个报错解决方案仅适用于获取JSONArray 对象中的Long型数据
1、java报错:Integer强制转换成Long出错
public void handle(String eventData) {
LOGGER.info("handle metaq event:{} data:{}", this.getEvent(), eventData);
JSONObject data = JSON.parseObject(eventData);
long timestamp = data.getLong("t");
JSONArray idJsonArr = data.getJSONArray("ids");
for (Iterator<Object> iterator = idJsonArr.iterator(); iterator.hasNext();) {
// 出错行
Long id = (Long) iterator.next();
cnServiceDaoRedis.add(id, timestamp);
}
}
2、解决方案:
public void handle(String eventData) {
LOGGER.info("handle metaq event:{} data:{}", this.getEvent(), eventData);
JSONObject data = JSON.parseObject(eventData);
long timestamp = data.getLong("t");
JSONArray idJsonArr = data.getJSONArray("ids");
for (int i = 0; i < idJsonArr.size(); i++) {
// 换成getLong方法
Long id = idJsonArr.getLong(i);
cnServiceDaoRedis.add(id, timestamp);
}
}
关注我的技术公众号《漫谈人工智能》,每天推送优质文章