Java强制转换到List失败



我有一个问题,我无法理解。我正在处理一些JSON数据,这些数据已转换为原始列表和Map结构。然后测试一个特定字段是否为List,如果是,则将其转换为List以便进一步处理它。

所以我有;

if (value != null && value instanceof List){
   List listValue = (List) value;
   ...
}

在Eclipse调试器中,我可以清楚地看到该值是一个ArrayList,它包含一个Map,因此代码继续到发生强制转换的下一行。强制转换的结果是一个空List——也就是说,listValue是一个没有任何内容的List。我不明白为什么会这样。有人能告诉我我哪里做错了吗?

Update:这似乎是一个并发问题。我已经贴出了答案,欢迎评论。

似乎是并发问题。在这里发帖帮助我得出了这个结论。我自己的错误是将一个可变对象传递给@Async方法,然后不期望它改变。一旦我解决了这个小问题,我的问题就解决了,正如预期的那样。

相关内容

最新更新