工具类代码:
/**
* 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;
}
});
}