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 @   phpwyl  阅读(498)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示