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

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

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

相关推荐
小bo波3 小时前
使用Thread子类创建线程 VS 使用Runnable接口创建线程的区别
java·多线程·thread·并发编程·runnable
SamDeepThinking4 小时前
高并发场景下,CompletableFuture与ForkJoinPool该如何取舍?
java·后端·面试
张不才6 小时前
CPU 100% 了怎么办?Java 性能排障的标准化操作
java·后端
shepherd1118 小时前
吞吐量提升 10 倍:高并发大批量数据处理任务的架构演进与性能调优
java·后端·架构
plainGeekDev11 小时前
单例模式 → object 声明
android·java·kotlin
用户2986985301411 小时前
Java 实现 Word 文档文本与图片提取的方法
java·后端
SimonKing12 小时前
铁子,IntelliJ IDEA 2026.1.3来了,升不升?
java·后端·程序员
咖啡八杯1 天前
GoF设计模式——策略模式
java·后端·spring·设计模式
用户128526116021 天前
我把祖传Java项目重构后,接口响应从3s砍到了200ms,只改了这几行代码
java