Я пытаюсь отладить часть моего кода, где (Integer
) значения на карте иногда становятся удивительно высокими.
Когда я делаю это
Collection<Integer> vals = newState.values();
int max = Collections.max(vals);
return newState; // breakpoint here
, я могуустановите условную точку останова в строке оператора return с условием, включающим max, например, max > 10
.Когда я опускаю среднюю строку и устанавливаю условие точки останова на Collections.max(vals) > 10
, я получаю исключение времени выполнения в режиме отладки.
"Причина: тип не реализует селектор max и подпись (Ljava / util / Collection;) Ljava / lang / Comparable;"
Я могу получить то, что хочу, с фрагментом кода выше, но мне все еще интересно, что здесь происходит.Предполагая, что это может быть метод Collections, который не может понять, что Integer действительно сопоставим, я попытался Collections.<Integer>max(v)
и некоторые (неправильный синтаксис) варианты, но безуспешно.