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<String> s = new ArrayList<String>();
        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<String> getComparator(){
//        return  new Comparator<String>() {
//            @Override
//            public int compare(String o1, String o2) {
//                return o1.length()-o2.length();
//            }
//        };
        return (s1,s2)->s2.length()-s1.length();
    }
}

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

posted @ 2022-04-24 21:39  phpwyl  阅读(497)  评论(0编辑  收藏  举报