Java借助反射实现自定义对象List的排序
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 众所周知,java里List集合类提供了sort()的方法,方便懒人对list对象进行排序, 但是,其要直接使用sort方法,前提是集合中存放的是可直接排序的基本类型,如List<int>, List<double>等,如果 我们定义了一个自定义类型 Class User,并创建一个自定义类型的集合如List<User>, 那么无参的sort()方法就不可用了,因为不知道如何排序了。这时就需要Comparator。 Comparator接口里的compare(T o1, T o2)方法中可以定义这两个对象怎样比较,怎样决定谁排在谁前面。因为项目需要写了个List工具类,可以通过指定的属性名,对List<T>类型的对象进行排序,具体代码如下: import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import com.ucs.dto.user.UrUser; public class ListUtils { /** * 根据对象属性名,对对象List进行排序 * @description