Java中的Lambda表达式

Lambda表达式的标准格式

格式:(形式参数)->{代码块}

形式参数:如果有多个参数,参数之间用逗号隔开 如果没有参数,留空即可

->:由英文中画线和大于符号组成,固定写法。代表着指向动作

代码块:是指我们具体要做的事情。

Lambda表达式的使用前提

  1. 有一个接口

  2. 接口中有且仅有一个抽象类

复制代码
package day7;
​
public interface LambdaInterface {
    void eat();
}
​
复制代码
package day7;
​
public class ImplementInterface implements LambdaInterface{
    @Override
    public void eat() {
        System.out.println("好好学习才可以找到好工作");
    }
}
​
复制代码
package day7;
​
public class LambdaTest  {
    public static void main(String[] args) {
        //在主方法中调用userinterface方法
        LambdaInterface im = new ImplementInterface();
        userinterface(im);
        //在匿名内部类中
        userinterface(new LambdaInterface() {
            @Override
            public void eat() {
                System.out.println("好好学习才可以找到好工作");
            }
        });
        //在Lambda方法中调用方法
        userinterface(()->{
            System.out.println("好好学习才可以找到好工作");
        });
    }
    private static void userinterface(LambdaInterface im){
        im.eat();
    }
}
​

注意 小括号里面的的参数类型可以省略 但是如果省略要一起省略 如果加参数类型也是一起加

如果小括号只有一种参数类型 则可以省略

相关推荐
北冥湖畔的燕雀3 分钟前
C++泛型编程(函数模板以及类模板)
开发语言·c++
Le1Yu10 分钟前
分布式事务以及Seata(XA、AT模式)
java
寒山李白1 小时前
关于Java项目构建/配置工具方式(Gradle-Groovy、Gradle-Kotlin、Maven)的区别于选择
java·kotlin·gradle·maven
QX_hao2 小时前
【Go】--map和struct数据类型
开发语言·后端·golang
你好,我叫C小白2 小时前
C语言 循环结构(1)
c语言·开发语言·算法·while·do...while
无妄无望2 小时前
docker学习(4)容器的生命周期与资源控制
java·学习·docker
MC丶科2 小时前
【SpringBoot 快速上手实战系列】5 分钟用 Spring Boot 搭建一个用户管理系统(含前后端分离)!新手也能一次跑通!
java·vue.js·spring boot·后端
千码君20162 小时前
React Native:从react的解构看编程众多语言中的解构
java·javascript·python·react native·react.js·解包·解构
夜白宋3 小时前
【word多文档docx合并】
java·word
Evand J3 小时前
【MATLAB例程】基于USBL和DVL的线性回归误差补偿,对USBL和DVL导航数据进行相互补偿,提高定位精度,附代码下载链接
开发语言·matlab·线性回归·水下定位·usbl·dvl