有一个问题让我很难过。我有一个 HashMap 声明使用字符串作为键和我自己的 KWIKattribute 作为值。
private HashMap<String, KWIKattribute> attributes = new HashMap<String, KWIKattribute>();
我将对象放入其中,其中 sgml_xml_tag 是一个字符串,而 kattr 是 KWIKattribute 的一个实例。
attributes.put(sgml_xml_tag, kattr);
当我尝试将值作为 KWIKattribute 取回时
for (Map.Entry<String, KWIKattribute> e : attributes.entrySet()) {
String key = e.getKey();
KWIKattribute kattr = (KWIKattribute) attributes.get(e.getKey());
}
抛出异常
javax.faces.el.EvaluationException: java.lang.ClassCastException: java.lang.String cannot be cast to com.northgrum.adt.kwik.model.KWIKattribute
我知道这可能是我在某个地方的一个简单的愚蠢错误,但我没有看到它是什么。有什么建议么?