Есть такой метод в классе Num
public Comparable maximumElement(List list){
return Collections.max(list);
}
В другом классе во время обращения к нему таким способом
new Num<>(Collections.emptyList()).maximumElement(Arrays.asList(new Person(), new Person()));
я получаю
Exception in thread "main" java.lang.ClassCastException: Test$1Person cannot be cast to java.lang.Comparable
Подскажите, как сделать так, чтобы метод maximumElement()
мог принимать такие параметры.
Дело в том, что метод Collections.max(...)
принимает в качестве аргумента коллекцию, элементы которой реализуют интерфейс Comparable
, что логично - чтобы получить максимальный элемент, нужно уметь сравнивать эти элементы.
Для этого исправьте класс Person
, добавив реализацию интерфейса Comparable
и метода с сигнатурой public int compareTo(Person o)
.
Как поменять версию java в Maven compiler? Не для конкретного проекта в POM файле, а в настройках Maven? У меня прописаны переменные "JAVA_HOME" и "MAVEN_HOME"Текущая...
При инициализации viewModel использую кастомный Factory с передачей в конструктор аргумента
Есть свой ExeptionServlet, который отлавливает эксепшины и выводит необходимую мне информацию