【发布时间】:2012-08-11 05:09:25
【问题描述】:
我正在尝试构建一个地图,它的值可以是班级人员、动物或字符串的列表,然后我在最后阅读它。
我有以下问题:
Map<String,List<? extends Object>> someDataMap =
new LinkedHashMap<String,List<? extends Object>>();
Person p = new Person();
Animals a = new Animals();
List<Person> personList = p.getPersonList();
List<Animals> animalsList = a.getAnimalsList();
List<String> someStrings = new ArrayList<String>();
someStrings.add("Employe123");
someStrings.add("Pet-Cat");
// putting lists into map
someDataMap.put("person",personList);
someDataMap.put("animals",animalsList);
someDataMap.put("listsOfData",someStrings);
// now reading the values.
Map<String,List<? extends Object>> datMap =
(Map<String,List<? extends Object>>)model.get("datMap");
List<Person> dataList = (List<Person>) datMap.get("person");
List<Animals> nodalList = (List<Animals>)datMap.get("animals");
List<String> listsOfData = (List<String>) datMap.get("listsOfData");
- 这种方法是否正确,我的意思是放置这些值并阅读它们。
- 为什么不使用不带参数的 Map,为什么使用泛型和带通配符的泛型,我确实读过,但仍不清楚
我想在没有 pojo 的情况下尝试这种方法。或者 pojo 有必要吗。
请帮忙,我们将不胜感激。
谢谢
【问题讨论】:
标签: java generics map wildcard