最近遇到一个有趣的问题。我在执行此代码时捕获了 ClassCastException:
LinkedHashMap<Tag, Boolean> tags = new LinkedHashMap<Tag, Boolean>();
...
LinkedHashMap<Tag, Boolean> tagsCopy = (LinkedHashMap<Tag, Boolean>)tags.clone();//exception on this line
在开发模式下它工作得很好,但它在生产中以某种方式失败。通过手动创建浅拷贝来解决它。但我仍然对导致这种行为的原因感兴趣。有任何想法吗?
UPD 忘了提,我使用 java.util.LinkedHashMap。