我创建了一个比较器,并使用枚举对事物进行排序。它可以工作,但我想重用这个比较器,这样我就可以使用不同类型的枚举,如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);
}
}
发布于 2020-04-16 17:53:40
如果与两个大小写没有关系,则不能使用一个比较器。例如,如果TruckOrderEnum的order为null,我们就使用PlaneOrderEnum的值。
https://stackoverflow.com/questions/61247145
复制相似问题