Collections.max () Неправильные аргументы - PullRequest
0 голосов
/ 20 марта 2011

Я просто пытаюсь найти максимум из списка «офицеров».Спецификации задания, над которым я работаю, не позволяют мне сравнивать офицеров, поэтому вместо этого я использую компаратор для сравнения.

Однако компилятор жалуется на типы моихаргументы.Кто-нибудь может увидеть, что не так?(Не беспокойтесь о возвращении ... Я еще этого не сделал.)

За пределами фрагмента ниже, офицеры - это список , который был инициализирован.

Collections.max(officers, new Comparator<Officer>()
    {
        public int compare( Officer a, Officer b )
        {
           return -1; //will do after
        }
    }
);

Любые предложения будут оценены!

1 Ответ

1 голос
/ 20 марта 2011

Это компилируется просто отлично. Вот демоверсия ideone.com

import java.util.*;

class Officer {
}

public class Test {

    public static void main(String[] args) {

        List<Officer> officers = new ArrayList<Officer>();

        Collections.max(officers, new Comparator<Officer>()
                {
                    public int compare( Officer a, Officer b )
                    {
                       return -1; //will do after
                    }
                }
            );
    }
}

Итак, все в порядке с кодом, который вы разместили. Должно быть что-то еще, что не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...