Lambda表达式

1.介绍:Lambda表达式是JDK 8开始新增的一种语法形式。

2.作用:用于简化匿名内部类的代码写法。

3.注意 : Lambda表达式只能简化函数式接口 的匿名内部类。

4.函数式接口:有且仅有一个抽象方法的接口

5.注意:大部分函数式接口上面都可能会有一个**@FunctionalInterface** 的注解,有该注解的接口就必定是函数式接口。

6.格式:

java 复制代码
//(被重写方法的形参列表) -> {
//      被重写方法的方法体代码
//}

//初始
Cooking c1 = new Cooking(Food f){
    @Override
    public void cook(){
        System.out.println("Making meat!");
    }
};

//简化
Cooking c2 = (Food f) -> {
        System.out.println("Making meat!");
};


interface Cooking{
    void cook(Food f);
}

7.Lambda表达式的省略规则:

A. 参数类型可以省略不写。

java 复制代码
Cooking c2 = (f) -> {
        System.out.println("Making meat!");
};

B. 如果只有一个参数,参数类型可以省略,同时()也可以省略。

java 复制代码
Cooking c2 = f -> {
        System.out.println("Making meat!");
};
  • C. 如果Lambda表达式中的方法体代码只有一行代码,可以省略大括号不写,同时要省略分号!此时,如果这行代码是return语句,也必须去掉return不写。
java 复制代码
Cooking c2 = f -> System.out.println("Making meat!");
相关推荐
普通网友16 分钟前
嵌入式C++安全编码
开发语言·c++·算法
烤麻辣烫21 分钟前
黑马程序员苍穹外卖(新手) DAY3
java·开发语言·spring boot·学习·intellij-idea
q***482525 分钟前
基于python语言的网页设计(手把手教你设计一个个人博客网站)
开发语言·python
妮妮喔妮26 分钟前
JAVA反射的介绍(优缺点)
java·开发语言
云知谷29 分钟前
【软件测试】《集成测试全攻略:Mock/Stub 原理 + Postman/JUnit/TestNG 实战》
c语言·开发语言·c++·软件工程·团队开发
i***486130 分钟前
Redis重大版本整理(Redis2.6-Redis7.0)
java·数据库·redis
YQ_ZJH39 分钟前
Redisson 看门狗机制详解
java·redis
那我掉的头发算什么42 分钟前
【javaEE】多线程——线程安全进阶☆☆☆
java·jvm·安全·java-ee·intellij-idea
qq_225891746644 分钟前
基于Python+Django餐饮评论大数据分析与智能推荐系统 毕业论文
开发语言·后端·python·信息可视化·数据分析·django
悟空CRM服务1 小时前
我用一条命令部署了完整CRM系统!
java·人工智能·开源·开源软件