类强制转换异常

时间:2010-03-19 07:29:14

标签: java exception class casting

为什么我会得到这个例外?

映射myHash = null myHash =(HashMap)Collections.synchronizedMap(new HashMap());

如果我尝试使用这个hashmap,我会得到java.lang.ClassCastException

2 个答案:

答案 0 :(得分:1)

因为Collections.synchronizedMap()不返回HashMap。

正确的方法应该是:

映射mySyncedMap = Collections.synchronizedMap(new HashMap());

(或任何其他地图而不是HashMap)

答案 1 :(得分:0)

因为Collections.synchronizedMap未返回HashMap

它会返回其他类型的Map(您不应该知道的类型),它会包裹您的HashMap

您必须使用Map界面而不是HashMap