迭代谷歌multimap作为参数传递

时间:2014-04-21 15:31:37

标签: java google-maps

我有以下多图:

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)
{

}

怎么了?

1 个答案:

答案 0 :(得分:2)

您需要在方法签名中使用泛型而不是raw type,以便可以从集合中确定类型

public void otherClassMethod(ListMultimap<String, int[]> terrainMap)