Целочисленные несовместимые Joda и Java lang - PullRequest
0 голосов
/ 18 ноября 2011

Получение этой ошибки:

 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 определены как Date ранее, тогда я конвертирую их здесь, как вы можете видетьв DateTime.Я не думаю, что это проблема, и карта

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

Спасибо,

Ответы [ 2 ]

3 голосов
/ 18 ноября 2011

entrySet() возвращает «строки» карты, то есть объекты Entry, содержащие как ключи, так и значения.Чтобы перебрать только значения, вы можете использовать map.values(), который в данном случае является коллекцией Integer.

2 голосов
/ 18 ноября 2011

Кажется, что вы хотите map.subMap(startx, endx).values() вместо map.subMap(startx, endx).entrySet().

...