【发布时间】:2012-06-30 02:22:20
【问题描述】:
这可能是我的一个简单的误解。
有一个简单的界面:
public interface IParams extends Map<String,String> {
}
然后我尝试使用:
IParams params = (IParams) new HashMap<String,String>();
通过语法并编译,但在运行时我得到:
java.lang.ClassCastException: java.util.HashMap cannot be cast to com.foobar.IParams
在这种情况下我对泛型的误解在哪里?
【问题讨论】:
-
你不是误解泛型,你是误解继承。
-
有什么理由扩展地图吗?您是否覆盖了任何方法?
-
目的是创建一个隐藏泛型的接口,并保存(示例中未显示)映射键字符串定义
标签: java generics map hashmap extends