Java快速理解lambda写法过程

本文逐步介绍了Java中lambda表达式的理解过程,从传统的函数式编程概念开始,通过内部类和匿名类的示例,最终过渡到lambda表达式的简洁写法。lambda表达式本质上是接口实现方法的简写形式,允许更紧凑地表示单方法接口的实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java的lambda写法一直不太理解,今天终于弄明白了,我们一步步来看

使用lambda函数的都是函数式编程,函数一般只用一次

  1. 一般的写法

package com.coderwar;

public class lambdaTest{
    public static void main(String[] args) {
        // 一般调用
        Like like = new Like();
        like2.lambda();
        Like like = new Like();
        like.lambda();
    }
}
// 定义函数式,定义接口
interface Ilike {
    void lambda();
}

// 实现接口
class Like implements Ilike {
    @Override
    public void lambda(int a, int b) {
        
    }
}
  1. 将代码写到内部类中

package com.coderwar;

public class lambdaTest{
    public static void main(String[] args) {

       static class Like implements Ilike {
        @Override
        public void lambda() {
            System.out.println("I like one");
        }
    }
        // 内部类调用
        Like like = new Like();
        like.lambda();
    }
}
// 定义函数式,定义接口
interface Ilike {
    void lambda();
}
  1. 将代码写成匿名类调用

package com.coderwar;

public class lambdaTest{
    public static void main(String[] args) {

       static class Like implements Ilike {
        @Override
        public void lambda() {
            System.out.println("I like one");
        }
    }
        // 匿名类调用
        Ilike ilike=new Ilike(){
        @override
        public void lambda(){
            System.out.println("我是匿名调用")     
       }
        };
        like.lambda();
    }
}
// 定义函数式,定义接口
interface Ilike {
    void lambda();
}
  1. Lambda调用

package com.coderwar;

public class lambdaTest{
    public static void main(String[] args) {

        // lambda调用
        Ilike ilike=()->System.out.println("I like one");
        like.lambda();
    }
}
// 定义函数式,定义接口
interface Ilike {
    void lambda();
}

以上四步是推论的整个过程,其本质是将函数式编程简写成一句话,将定义的接口实现方法,一句话替换,假如接口定义的方法带上参数,在定义的lambda函数中,加上参数即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值