0

收到此错误:

 incompatible types
    required: java.lang.Integer
    found: java.util.Map.Entry<org.joda.time.DateTime.java.lang.Integer>

和导致错误的代码:

public static void checkRange() {

        DateTime startx = new DateTime(startDate.getTime());
        DateTime endx = new DateTime(endDate.getTime());

        //produces submap
        Map<DateTime, Integer> nav = map.subMap(startx, endx);

        //this is the line causing the error:
        for (Integer capacity : map.subMap(startx, endx).entrySet()) {

        }
}
}

我将 startDate 和 endDate 定义为较早的日期,然后我在这里将它们转换为您可以看到的 DateTime。我不认为这是问题,地图是

public static TreeMap<DateTime, Integer> map = new TreeMap<DateTime, Integer>();

谢谢,

4

2 回答 2

3

返回映射的entrySet()“行”,即Entry包含键和值的对象。要仅迭代这些值,您可以使用,在这种情况下map.values()它是 的集合。Integer

于 2011-11-18T09:29:23.913 回答
2

看起来你想要的是map.subMap(startx, endx).values()而不是map.subMap(startx, endx).entrySet().

于 2011-11-18T09:29:21.137 回答