// 方法1 自定义排序的规则 step1 @AllArgsConstructor @Getter public enum EastTradeTypeEnum { BBC(1, "BBC", "备货"), BC(2, "BC", "直邮"), CC(3, "CC", "快件"), PICKUP(4, "代取件", "代取件"), EXPARCEL(5, "出口小包", "出口小包"), OTHER(100, "OTHER", "OTHER"); private int index; private String code; private String message; } // 方法1 自定义排序的规则 step2,使用枚举中的index排序 Collections.sort(orderList, (o1, o2) -> { EastTradeTypeEnum o1TradeType = Optional.ofNullable(EnumUtils.getInstance(o1.getTitle(), EastTradeTypeEnum.class)).orElse(EastTradeTypeEnum.OTHER); EastTradeTypeEnum o2TradeType = Optional.ofNullable(EnumUtils.getInstance(o2.getTitle(), EastTradeTypeEnum.class)).orElse(EastTradeTypeEnum.OTHER); return o1TradeType.getIndex() - o2TradeType.getIndex(); }); // 方法2 根据订单数量进行排序 Collections.sort(orderList, Comparator.comparing(Order::getCount));