所以我正在为艾特莱森Confluence开发一个插件,在我的配置页面控制器中,我有一个类型为HashMap的HashMap
如果您将hashmap创建为HashMap
例如:
HashMap map = new HashMap<Integer, String>();
map.put(1, new String[]{"1", "2"});
System.out.println(map.get(1));
此代码执行时没有任何错误。
所以我认为发生的事情是,您将其存储为HashMap
引用,它被视为HashMap
但是如果您使用HashMap对同一地图有另一个引用
HashMap map = new HashMap<Integer, String>();
map.put(1, new String[]{"1", "2"});
System.out.println(map.get(1));
System.out.println("got here");
HashMap<Integer, String> otherRef = (HashMap<Integer, String>) map;
System.out.println(otherRef.get(1)); //<-ClassCastException exception here