函数式接口作为方法的返回值练习

public class ComparatorDemo {
    public static void main(String[] args) {
        ArrayList<String> array = new ArrayList<>();
        array.add("a");
        array.add("ccccc");
        array.add("bb");
        array.add("ddd");
        System.out.println("排序前" + array);

        Collections.sort(array, getComparator());

        System.out.println("排序后" + array);

    }

    private static Comparator<String> getComparator() {
        /*  使用匿名内部类
        Comparator<String> comp = new Comparator<String>() {
            @Override
            public int compare(String s1, String s2) {
                return s1.length()-s2.length();
            }
        };
        return comp;
         */

        //使用lambda表达式
        return (s1, s2) -> s1.length() - s2.length();
    }
}

 

posted @ 2020-06-06 17:01  硬盘红了  阅读(243)  评论(0编辑  收藏  举报