0

Here is an example of my Comparator

static Map<Key, Comparator<Employee>> map = new HashMap<>();
map.put(new Key("name", Direction.asc),
        Comparator.comparing(employee -> employee.getUser().getFullName()));

But if I like to make the comparator to be reversed - comparing() can't resolve objects inside. For example

map.put(new Key("name", Direction.desc), 
        Comparator.comparing(employee -> employee.getUser().getFullName())
                  .reversed());

enter image description here

Interesting part is that

map.put(new Key("start_date", Direction.desc),
        Comparator.comparing(Employee::getStartDate).reversed());

works as intended. But it seems like I can't call comparator on the returned String of a method of a nested object.

map.put(new Key("start_date", Direction.desc),
        Comparator.comparing(Employee::getUser::getFullName());

is impossible.

lkatiforis
  • 4,609
  • 2
  • 12
  • 29

0 Answers0