我有以下多图:
private ListMultimap<String, int[]> terrainMap = ArrayListMultimap.create();
{
terrainMap.put("Terrain.Ground", new int[] {0,100,300,0});
terrainMap.put("Terrain.Ground", new int[] {300,200,400,0});
terrainMap.put("Terrain.Ground", new int[] {400,250,800,0});
terrainMap.put("Terrain.Ground", new int[] {800,500,810,0});
terrainMap.put("Terrain.Ground", new int[] {100,200,150,150});
terrainMap.put("Terrain.Ground", new int[] {500,400,600,350});
};
当我在同一个类中迭代这个时,一切都按预期工作:
for (Map.Entry<String, int[]> entry : terrainMap.entries())
{
}
但是,当我将地图作为其他类方法的参数传递时,出现错误incompatible types: Object cannot be converted to entry<String, int[]>
otherClassMethod(terrainMap);
方法如下:
public void otherClassMethod(ListMultimap terrainMap)
{
}
怎么了?
答案 0 :(得分:2)
您需要在方法签名中使用泛型而不是raw type,以便可以从集合中确定类型
public void otherClassMethod(ListMultimap<String, int[]> terrainMap)