[問題] Collections.sort更簡潔的寫法?

作者: james732 (好人超)   2015-05-28 23:04:58
使用IDE:Android Studio 1.2.1.1
我有一個class:
class MyData
{
public int i, j, k, l, m, n, o; // 七組資料
};
然後有個 List 裝了很多個 Data
List<MyData> dataList = new ArrayList<MyData>();
我希望讓使用者可以選擇根據i,j,k,l,m,n,o的某一項來排序list,所以寫了
Collections.sort(dataList, new Comparator<MyData>() {
@Override
public int compare(MyData lhs, MyData rhs) {
return (lhs.i > rhs.i);
}
}
同樣的內容寫了七次,就只有上面紅色的部份不同
雖然程式看起來可以正常運作,但自己都覺得那一堆實在累贅....
想請問有沒有其他辦法可以讓我重覆的code不要那麼多呢?變得更加簡潔
(假如無法使用lambda...我還在研究Android studio能不能用...)
作者: kogrs (kogrs)   2015-05-28 23:30:00
reflection ?
作者: yyc1217 (somo)   2015-05-29 01:30:00
用int[] {i,j,k...},再加一個getByIndex再實作一個MyDataComparator 就call這個methodnew 這個comparator時就傳進index
作者: Frozenmouse (*冰之鼠*)   2015-05-30 12:03:00
把它折疊起來讓它看起來像lambda?XD

Links booklink

Contact Us: admin [ a t ] ucptt.com