下面的代码似乎可以将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());
}
答案 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());
}