包含集合的演员地图

时间:2015-03-26 11:15:24

标签: java

下面的代码似乎可以将map_b投射到map_a,但有更好的解决方案吗?

Map<Integer,List<MyClass>> map_a =  new HashMap<>();
Map<Integer,List<Object>> map_b = factory.createMapWithMyClasses();

for(Map.Entry<Integer, List<Object>> entry : map_b.entrySet())
{
    map_a.put(entry.getKey(), (List<MyClass>) (List) entry.getValue());
}

1 个答案:

答案 0 :(得分:0)

您可以使用?代替Object

Map<Integer,List<MyClass>> map_a =  new HashMap<>();
Map<Integer,List<?>> map_b = factory.createMapWithMyClasses();
for(Map.Entry<Integer, List<?>> entry : map_b.entrySet()){
    map_a.put(entry.getKey(), (List<MyClass>) entry.getValue());
}