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();
    }
}
​

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

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

相关推荐
lili00127 小时前
Claude自动修Bug配置优化与避坑指南
java·人工智能·python·bug·ai编程
逻极7 小时前
Java 从入门到精通:核心原理、最佳实践与性能优化
java·jvm·并发编程·集合框架
Vallelonga7 小时前
Rust 中 unsafe 关键字的语义
开发语言·rust
AI砖家7 小时前
前端 JavaScript 异步处理全方案详解:从回调到 Observable
开发语言·前端·javascript
思麟呀7 小时前
C++工业级日志项目(七)日志器核心
linux·开发语言·c++·windows
2401_873479407 小时前
如何用IP离线库批量清洗订单IP,自动标注省市区?
开发语言·网络·python
lcj25117 小时前
vector的基本使用 + 手搓成员变量 size capacity begin end operator[] reserve扩容 拷贝构造 赋值析构
开发语言·c++·笔记·面试
摇滚侠7 小时前
SpringBoot 内嵌 TongWeb 东方通替换 Tomcat
java·spring boot·spring
HeLiang77 小时前
proguard 混淆 使用JDK17 的 springboot4 + JPA
java·spring boot·proguard
武子康7 小时前
Java-10 深入浅出 MyBatis 一对多与多对多查询配置详解
java·后端