最近遇到需要使用list中sort排序功能,list中存的是自己写的类,所以需要重写sort函数,一般实现如下:

Collections.sort(voList, new Comparator<Subnet>() {
                    @Override
                    public int compare(Subnet o1, Subnet o2) {
                        return o1.getName().compareTo(o2.getName());
                    }
                });

但是idea提示可以使用lambda表达式来简化这种重写,于是使用idea的提示,简化后如下:

Collections.sort(voList, (o1, o2) -> o1.getName().compareTo(o2.getName()));

本来以为这样简化就完了,后面发现idea提示还可以接着简化,所以最终简化版本如下:

Collections.sort(voList, Comparator.comparing(Subnet::getName));

不得不说,idea真好用。

posted on 2019-03-15 10:12  dbave  阅读(1727)  评论(0编辑  收藏  举报