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


package com.runnable;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class ComparatorDemo {
    public static void main(String[] args) {
        ArrayList s = new ArrayList();
        s.add("aa");
        s.add("ccc");
        s.add("bbb");
        s.add("ee");
        System.out.println(s+"排序前");
        Collections.sort(s);
        System.out.println(s+"排序后");
        Collections.sort(s,getComparator());
        System.out.println(s);
    }
    public static Comparator getComparator(){
//        return  new Comparator() {
//            @Override
//            public int compare(String o1, String o2) {
//                return o1.length()-o2.length();
//            }
//        };
        return (s1,s2)->s2.length()-s1.length();
    }
}

如果方法的返回值是一个函数式接口,我们可以使用Lambdaba表达式作为结果返回