1、Lambda概述
- Lambda表达式是JDK8开始后的一种新语法形式
- 作用:简化匿名内部类的代码写法
- 注意:Lambda表达式只能简化函数式 接口 的匿名内部类的写法形式
1.1、什么是函数式接口?
- 首先必须是接口、其次接口中有且仅有一个抽象方法的形式
- 通常我们会在接口上加上一个@FunctionalInterface注解,标记该接口必须是满足函数式接口
javapackage com.lambda; public class LambdaDemo1 { public static void main(String[] args) { /* Swimming s1 = new Swimming() { @Override public void swim() { System.out.println("老师游泳贼溜~~~~"); } }; go(s1);*/ /* Swimming s1 = () -> { System.out.println("老师游泳贼溜~~~~"); }; go(s1);*/ /*go(new Swimming() { @Override public void swim() { System.out.println("老师游泳贼溜~~~~"); } });*/ go(() -> { System.out.println("老师游泳贼溜~~~~"); }); } public static void go(Swimming s) { System.out.println("开始。。。"); s.swim(); System.out.println("结束。。。"); } } @FunctionalInterface interface Swimming { public abstract void swim(); }2、Lambda实战-简化常见函数式接口
javapackage com.lambda; import java.util.Arrays; public class LambdaDemo2 { public static void main(String[] args) { Integer[] ages1 = {34, 12, 42, 23}; // Arrays.sort(ages1, new Comparator<Integer>() { // @Override // public int compare(Integer o1, Integer o2) { // return o2 - o1;//降序 // } // }); // Arrays.sort(ages1, (Integer o1, Integer o2) -> { // return o2 - o1; // }); Arrays.sort(ages1, (o1, o2) -> o2 - o1); System.out.println(Arrays.toString(ages1));//[42, 34, 23, 12] } }
Lambda表达式第二版
丁总学Java2023-09-02 20:50
相关推荐
信誓旦旦的程序猿4 分钟前
【Python 量化取数指南 #09】Python 拿港股通数据:港股通成交与港股财报实测小程序设计1 小时前
本科毕设避坑|大数据 / 单片机物联网 / 网络工程 / PLC / 机械设计选题与落地心得卓怡学长1 小时前
w206基于SpringBoot的社区团购小程序设计与实现Fruit_Caller1 小时前
staticIT枫斗者枫哥6 小时前
MyBatis一对多分页:LIMIT 20,为什么凑不齐20个订单?代码方舟6 小时前
Java数据工程:利用天远全网运营商三要素优化线上实名认证合规体验BBmmo6 小时前
我的 Java 学习笔记 · 第 7 篇:泛型与通配符独泪了无痕6 小时前
Hutool之RandomUtil:随机数生成的终极利器花开路口6 小时前
深入理解 Java/Kotlin 协变与逆变运行时异常6 小时前
【WMS 仓储系统集成 AI Agent 实战】第 7 讲:Vue3 前端工程化——Token 刷新锁、Markdown 渲染踩坑与权限体系