【发布时间】:2010-12-02 11:47:59
【问题描述】:
今天早些时候,我在调试一些代码时发现类似下面的代码不会引发编译时异常,这让我大吃一惊:
public Test () {
HashMap map = (HashMap) getList();
}
private List getList(){
return new ArrayList();
}
您可以想象,ClassCastException 在运行时被抛出,但有人可以解释为什么将List 转换为HashMap 在编译时被认为是合法的吗?
【问题讨论】: