List根据对象的某个属性排序工具类 List排序importjava.util.Collections;importjava.util.Comparator;importjava.util.List;importorg.apache.commons.beanutils.BeanComparator;importorg.apache.commons.collections.ComparatorUtils;importorg.apache.commons.collections.comparators.ComparableComparator;public classListSortUtil {/*** 按bean的属性值对list集合进行排序
*
*@paramlist
* 要排序的集合
*@parampropertyName
* 集合元素的属性名
*@paramisAsc
* 排序方向,true--正向排序,false--逆向排序
*@return排序后的集合*/
public static List sortList(List list, String propertyName, booleanisAsc) {//借助commons-collections包的ComparatorUtils//BeanComparator,ComparableComparator和ComparatorChain都是实现了Comparator这个接口
if(list!=null && list.size()>0){
Comparator mycmp=ComparableComparator.getInstance();
mycmp= ComparatorUtils.nullLowComparator(mycmp); //允许null
if(isAsc){
mycmp= ComparatorUtils.reversedComparator(mycmp); //逆序
}
Comparator cmp= newBeanComparator(propertyName, mycmp);
Collections.sort(list, cmp);
}returnlist;
}
}