Java8中list.sort的lamba表達式


  最近寫代碼,需要對list集合排序,IDEA總是黃色警告:

Reports calls to Collections.sort(list, comparator) which could be replaced with list.sort(comparator).

  樓主多少有點強迫症,那就改吧,修改如下:

            /*Collections.sort(resultList, new Comparator<SystemLog>() {
                    @Override
                    public int compare(SystemLog o1, SystemLog o2) {
                        return o2.getDt().compareTo(o1.getDt());
                    }
                });*/

                resultList.sort(new Comparator<SystemLog>(){
                    @Override
                    public int compare(SystemLog o1, SystemLog o2) {
                        return o2.getDt().compareTo(o1.getDt());
                    }
                });        

  

  好嘛,有報了要換Lamba表達式:Reports all anonymous classes which can be replaced with lambda expressions,Lambda syntax is not supported under Java 1.7 or earlier JVMs.

 

   那就繼續改吧,

            /*Collections.sort(resultList, new Comparator<SystemLog>() {
                    @Override
                    public int compare(SystemLog o1, SystemLog o2) {
                        return o2.getDt().compareTo(o1.getDt());
                    }
                });*/
                /*resultList.sort(new Comparator<SystemLog>(){
                    @Override
                    public int compare(SystemLog o1, SystemLog o2) {
                        return o2.getDt().compareTo(o1.getDt());
                    }
                });*/

                resultList.sort(((o1, o2) -> o2.getDt().compareTo(o1.getDt())));

  OK,沒有提示了,代碼也確實簡潔很多。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM