Как я могу использовать другой тип Enum, который имеет те же методы, что и MyEnum .. Могу ли я передать его в качестве параметра? Например, у меня есть аналогичные enum, как YourEnum, ItsEnum. Если да? как?
private Comparator<MyComparator> getComparator() {
Comparator<MyComparator> comparator = new Comparator<MyComparator>() {
@Override public int compare(MyComparator o1, MyComparator o2) {
String d1 = Optional.ofNullable(MyEnum.getByTypeId(o1.getId()))
.map(MyEnum::getOrder).orElse(o1.getDescription());
String d2 = Optional.ofNullable(MyEnum.getByTypeId(o2.getId()))
.map(MyEnum::getOrder).orElse(o2.getDescription());
return d1.compareTo(d2);
}
};
return comparator;
}