众所周知,java里List集合类提供了sort()的方法,方便懒人对list对象进行排序,但是,其要直接使用sort方法,前提是集合中存放的是可直接排序的基本类型,如List, List等,如果我们定义了一个自定义类型 Class User,并创建一个自定义类型的集合如List,那么无参的sort()方法就不可用了,因为不知道如何排序了。这时就需要Comparator。
Comparator接口里的compare(T o1, T o2)方法中可以定义这两个对象怎样比较,怎样决定谁排在谁前面。因为项目需要写了个List工具类,可以通过指定的属性名,对List类型的对象进行排序,具体代码如下:
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
* @author
* @time 2016-3-23
* @param t 对象List
* @param fieldName 要排序的属性名
*/
public static void sortList(List t,final String fieldName) {