Collections.sort(strategySelectDetailListVOS, new Comparator<StrategySelectDetailListVO>() { @Override public int compare(StrategySelectDetailListVO o1, StrategySelectDetailListVO o2) { if(Objects.equals(o1.getStrategyTypeCode(),o2.getStrategyTypeCode())) { String name = o1.getName(); String name2 = o2.getName(); //截取name下标并且将其转化为数字 String matcher = name.replaceAll("[^0-9]", ""); String matcher2 = name2.replaceAll("[^0-9]", ""); if (StringUtils.isNotEmpty(matcher) && StringUtils.isNotEmpty(matcher2)) { Integer num = Integer.parseInt(matcher); Integer num2 = Integer.parseInt(matcher2); return num - num2; } else if (StringUtils.isBlank(matcher) && StringUtils.isNotEmpty(matcher2)) { Integer num2 = Integer.parseInt(matcher2); return 0 - num2; } else if (StringUtils.isNotBlank(matcher) && StringUtils.isBlank(matcher2)) { Integer num = Integer.parseInt(matcher); return num - 0; } else { return 0; } }else{ return 0; } }
Java 对象排序 重写compare 方法
最新推荐文章于 2023-03-11 14:03:40 发布