Java 在作为参数传递的google multimap上迭代
我有以下多重映射:Java 在作为参数传递的google multimap上迭代,java,google-maps,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}); terrain
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});
};
方法如下所示:
public void otherClassMethod(ListMultimap terrainMap)
{
}
怎么了?您需要在方法签名中使用泛型,而不是泛型,以便可以从集合中确定类型
public void otherClassMethod(ListMultimap<String, int[]> terrainMap)
public void otherClassMethod(ListMultimap terrainMap)
其他类方法的内容是什么?这个错误是从哪里来的?内容无关紧要,即使只有空for循环的空函数也会显示错误。顺便说一句,这段代码与谷歌地图无关:我在for行中遇到了这个错误。如果您将List
类型的内容传递到了预期的List
中,则不应该出现错误。不过,您可能会收到未经检查的警告。这个错误还涉及到条目
,所以我认为这不是问题所在。很奇怪,因为这不应该是编译错误。循环是否在该方法中?这就是为什么。您使它看起来像是在调用线路上出错。@Reimeus OP使它看起来像是在调用方法的线路上出错。它不会在那里抛出错误。但如果将循环移动到该方法中,则会发生这种情况。我只是误读了这个问题。@VivinValiath您没有误读,关于方法中的循环的关键细节丢失了,似乎错误是由方法调用创建的:)
public void otherClassMethod(ListMultimap terrainMap)
{
}
public void otherClassMethod(ListMultimap<String, int[]> terrainMap)