Сделать компаратор более многоразовым - PullRequest
0 голосов
/ 16 апреля 2020

Я создал компаратор и использовал enum для упорядочивания вещей. Он работает, но я хочу использовать этот компаратор повторно, чтобы я мог использовать различные типы Enum, например TruckOrderEnum, PlaneOrderEnum.

public class BrandComparator implements Comparator<Brand> {
        public int compare(Brand o1, Brand o2) {

            String s1= Optional.ofNullable(CarOrderEnum.getById(m1.getId()))
                    .map(CarOrderEnum::getOrder).orElse(m1.getDescription());

            String s2= Optional.ofNullable(CarOrderEnum.getById(m2.getId()))
                    .map(CarOrderEnum::getOrder).orElse(m2.getDescription());

            return s1.compareTo(s2);
        }
    }

1 Ответ

0 голосов
/ 16 апреля 2020

Вы не можете использовать один компаратор для двух случаев, если они не связаны с ними. Например, если заказ TruckOrderEnum равен нулю, мы используем значение PlaneOrderEnum.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...