作者james732 (好人超)
看板java
标题[问题] Collections.sort更简洁的写法?
时间Thu May 28 23:04:58 2015
使用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://webptt.com/cn.aspx?n=bbs/java/M.1432825500.A.9E3.html
※ 编辑: james732 (223.137.66.159), 05/28/2015 23:05:22
1F:→ kogrs: reflection ? 05/28 23:30
2F:→ yyc1217: 用int[] {i,j,k...},再加一个getByIndex 05/29 01:30
3F:→ yyc1217: 再实作一个MyDataComparator 就call这个method 05/29 01:30
4F:→ yyc1217: new 这个comparator时就传进index 05/29 01:31
5F:推 Frozenmouse: 把它折叠起来让它看起来像lambda?XD 05/30 12:03
Android studio是会自己折起来看起来像lambda没错啦...XD
※ 编辑: james732 (122.116.178.230), 06/01/2015 23:42:38