我有一个问题,我无法转动我的头。我正在处理一些已转换为原始 List 和 Map 结构的 JSON 数据。然后我正在测试一个特定的字段是否是一个列表,如果是,我将它转换为一个以便进一步使用它。
所以我有;
if (value != null && value instanceof List){
List listValue = (List) value;
...
}
在 Eclipse 调试器中,我可以清楚地看到 value 是一个 ArrayList,它包含一个 Map,因此代码继续到发生强制转换的下一行。强制转换的结果是一个空列表——也就是说,listValue 是一个没有任何内容的列表。我不明白为什么会这样。谁能阐明我做错了什么?
更新:这似乎是一个并发问题。我已经发布了一个答案,欢迎评论。感谢大家的意见。