Java里简单使用Lambda表达式

文章介绍了Lambda表达式在Java中的作用,如简化代码和避免匿名内部类的过多使用。Lambda表达式依赖于函数式接口,即只有一个抽象方法的接口。文中通过示例展示了Lambda如何替代匿名内部类实现接口方法,以及其简洁的语法形式。

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

Lambda表达式:

        作用:

        ①:避免匿名内部类定义过多。

        ②:可以让代码看起来更简洁。

        ③:去掉一堆没有意义的代码,只留下核心逻辑代码。

函数式接口(Functional Interface):lambda使用的前提。

        定义:

        ①:任何接口只包含唯一一个抽象方法,那么它就是一个函数式接口。

        ②:对于函数式接口,可以通过Iambda表达式来创建该接口的对象。

public class TestLambda1 {

    //2:静态内部类
    static class Ridersong2 implements Song{

        @Override
        public void lambda() {
            System.out.println("Song like lambda!2");
        }
    }

    public static void main(String[] args) {
        Song song=new Ridersong();
        song.lambda();

        Song song2=new Ridersong2();
        song2.lambda();


        //3:局部内部类
        class Ridersong3 implements Song{

            @Override
            public void lambda() {
                System.out.println("Song like lambda!3");
            }
        }
        Song song3=new Ridersong3();
        song3.lambda();


        //4:匿名内部类(没有类名称,必须借助接口或者父类)
        Song song4= new Song() {
            @Override
            public void lambda() {
                System.out.println("Song like lambda!4");
            }
        };
        song4.lambda();

        //JDK8新增lambda
        //5:Lambda简化(前提是函数式接口)
        //()是参数值,参数的基本类型也可以省略
        Song song5=()->{
            System.out.println("Song like lambda!5");
        };
        song5.lambda();

        //再简化(只有一条执行语句时,多行时必须用大括号)
        Song song6=()-> System.out.println("Song like lambda!6");
        song6.lambda();

    }
}

//定义函数式接口
interface Song{
    void lambda();
}

//1:实现类
class Ridersong implements Song{

    @Override
    public void lambda() {
        System.out.println("Song like lambda1!");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值