當前位置:成語大全網 - 書法字典 - 目錄

導入Java . lang . reflect . method;

導入Java . util . ArrayList;

導入Java . util . collections;

導入Java . util . comparator;

導入Java . util . list;

/**

* List根據指定的字段對工

目錄

導入Java . lang . reflect . method;

導入Java . util . ArrayList;

導入Java . util . collections;

導入Java . util . comparator;

導入Java . util . list;

/**

* List根據指定的字段對工

目錄

導入Java . lang . reflect . method;

導入Java . util . ArrayList;

導入Java . util . collections;

導入Java . util . comparator;

導入Java . util . list;

/**

* List根據指定的字段對工具類進行排序。

*

* @ param & ltT & gt

*/

公共類ListSortUtil & ltT & gt{

/**

* @param targetList目標排序列表

* @param sortField排序字段(實體類屬性名)

* @param sortMode排序方法(asc或desc)

*/

@SuppressWarnings({ "unchecked "," rawtypes" })

公共void排序(List & ltT & gttargetList,最終字符串排序字段,最終字符串排序模式){

Collections.sort(targetList,new Comparator() {

public int compare(Object obj 1,Object obj2) {

int retVal = 0;

嘗試{

//首字母大寫

string newStr = sortfield . substring(0,1)。toupper case()+sortfield . replace first(" \ \ w "," ");

string method str = " get "+newStr;

方法method1 = ((T)obj1)。getClass()。getMethod(methodStr,null);

方法method2 = ((T)obj2)。getClass()。getMethod(methodStr,null);

if (sortMode!= null & amp& amp《desc》。equals(sortMode)) {

retVal = method 2 . invoke((T)obj 2),null)。toString()。compare to(method 1 . invoke((T)obj 1),null)。toString());//逆序

}否則{

retVal = method 1 . invoke((T)obj 1),null)。toString()。compare to(method 2 . invoke((T)obj 2),null)。toString());//正序

}

} catch(異常e) {

拋出新的runtime exception();

}

返回retVal

}

});

}

}

Collections.sort(list。);//升序排列