Я вызываю метод, передавая компаратор, как показано ниже:
treeSetDemo(null);
treeSetDemo(new PubDateAscComparator());
treeSetDemo(new PubDateDescComparator());
По сути, я пытаюсь отсортировать объекты на основе входных данных, данных методом treeSetDemo
, и здесь я использую объекты книги исортировка их по году публикации.
Теперь метод treeSetDemo
принимает в качестве аргумента компаратор, как показано ниже:
public static Set<Book> treeSetDemo(Comparator comparator)
В определении метода я хочу выполнить действия, на основе которыхпередается параметр, как в примере ниже:
if(comparator == PubDateAscComparator())
{
Set<Book> books = new TreeSet<>(new PubDateAscComparator());
}
else if(comparator == PubDateDescComparator())
{
Set<Book> books = new TreeSet<>(new PubDateDescComparator());`
}
Но, похоже, это не работает ... что следует записать в операторе if
, чтобы сделать это возможным?