日期:2014-05-20  浏览次数:20577 次

java map两个疑问!
要写毕业设计了,我今天看是动手,但是,写着写着,碰到了map的问题,疑惑不解,特来求教:
-------------
问题1 > 情景、
假定我自定义了一个map作为存储器,定义如下:Map< String, Map<String,List<?>> > storage = new ... .
那么,我传入的<K,V>只能是String 和Map<String,List<?>>。
此时,出问题了,
V对应的是Map<String,List<?>>,我随便输入一个storage.put("test", new HashMap<String, List<Object>>());//报错!!!
---------------
我原本以为,?作为通配符,可以随便录入,结果在这里,即便是Object都不能对应!!!
问题1 > 提问、
        1、为什么 ? 2、碰到这种设计,怎么传参 ?

问题2:由于问题太多,请此处查看问题2,谢谢:  http://bbs.csdn.net/topics/390742200
------解决方案--------------------
                Map< String, Map<String,List<?>> > storage = new HashMap<String, Map<String,List<?>>>();
Map<String,List<?>> value = new HashMap<String, List<?>>();
List<Object> list = new ArrayList<Object>();   
list.add("a");
list.add(1);
value.put("key", list);
storage.put("test", value);

     这样没问题,仔细 体会一下