Как выполнить проверку на компараторе, переданном методом в Java ...? - PullRequest
0 голосов
/ 10 октября 2019

Я вызываю метод, передавая компаратор, как показано ниже:

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, чтобы сделать это возможным?

...