Как в программе вызывается метод компаратора, хотя я не вызываю его явно в программе [дубликат] ⇐ JAVA
Как в программе вызывается метод компаратора, хотя я не вызываю его явно в программе [дубликат]
Предположим, я хочу отсортировать коллекцию. Поэтому я использую этот код
Collections.sort(list,new TimeComparator()); Здесь список содержит некоторый объект, а класс TimeComparator реализует интерфейс Comparator. Я реализую функцию compare(Object o1, Object o2) в TimeComparator. Но я нигде не вызывал compare(Object o1, Object o2) в своей программе. Как это называется в моей программе. Это не конструктор. Так кто же это вызывает, чтобы сравнивать объекты? Аналогично, когда вызывается объект класса ActionEvent, его переопределенные методы также вызываются автоматически. Как?
Предположим, я хочу отсортировать коллекцию. Поэтому я использую этот код
Collections.sort(list,new TimeComparator()); Здесь список содержит некоторый объект, а класс TimeComparator реализует интерфейс Comparator. Я реализую функцию compare(Object o1, Object o2) в TimeComparator. Но я нигде не вызывал compare(Object o1, Object o2) в своей программе. Как это называется в моей программе. Это не конструктор. Так кто же это вызывает, чтобы сравнивать объекты? Аналогично, когда вызывается объект класса ActionEvent, его переопределенные методы также вызываются автоматически. Как?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение