看板 java 關於我們 聯絡資訊
使用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能不能用...) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.66.159 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1432825500.A.9E3.html ※ 編輯: james732 (223.137.66.159), 05/28/2015 23:05:22
kogrs: reflection ? 05/28 23:30
yyc1217: 用int[] {i,j,k...},再加一個getByIndex 05/29 01:30
yyc1217: 再實作一個MyDataComparator 就call這個method 05/29 01:30
yyc1217: new 這個comparator時就傳進index 05/29 01:31
Frozenmouse: 把它折疊起來讓它看起來像lambda?XD 05/30 12:03
Android studio是會自己折起來看起來像lambda沒錯啦...XD ※ 編輯: james732 (122.116.178.230), 06/01/2015 23:42:38