工具类代码:
/**
* 4.根据对象的某几个属性排序,排序规则可以不同,对每个属性具体指定升序或者降序
*
* @param list
* @param props
* @param types
* @param <E>
*/
public static <E> void sortByProps(List<E> list, final String[] props, final boolean[] types){
Collections.sort(list, new Comparator<E>(){
@Override
public int compare(E o1, E o2){
int ret = 0;
try {
for (int i = 0; i < props.length; i++) {
ret = compareObj(props[i],types[i],o1,o2);
if (0 != ret){
break;
}
}
}catch (Exception e){
e.printStackTrace();
}
return ret;
}
});
}
单元测试类及测试结果

本文介绍了一个通用工具方法,用于根据对象的多个属性进行排序,并允许为每个属性指定升序或降序。通过传递属性名数组和对应的排序类型数组,可以灵活地对列表中的元素进行多属性排序。
6983

被折叠的 条评论
为什么被折叠?



