反射排序,支持多字段(属性)排序,NULL值处理(类似order by排序)

使用场景:

  • 某些时候,我们需要在应用层中进行排序。
  • 考虑到排序是一个与业务没有多大关系的功能,所有可以在拦截器中对数据进行排序处理。
  • 在拦截器中排序,需要使用以下工具类对数据进行排序。

!!!注意: 字段有相应的compareTo方法才认为该字段排序条件有效

import cn.hutool.core.collection.CollectionUtil;
import org.apache.commons.lang3.tuple.Pair;
import org.springframework.beans.BeanUtils;

import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;

/**
 * 集合工具类
 *
 * @author CQJames
 * @since v1.0.0 2020-11-10
 */
public class CollectionUtils {
   

    
	/**
     * 字段排序,根据集合元素字段排序
     *
     * @param awaitOrderList 待排序集合
     * @param orderPropertySequenceList <排序字段,升降序>集合,元素越前优先级越高
     * @param nullLast true-空值放最后,false-空值放最前
     * @return List<T> 已排序集合
     */
    public static <T> List<T> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值