java--Lambda表达式

本文探讨了Lambda表达式如何简化匿名内部类的使用,通过具体示例展示了其在Java中的应用,如文件过滤和线程创建,以及Lambda表达式的优化原则。

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

Lambda表达式概述

简而言之,Lambda表达式就是用除掉冗余的代码之后的更简洁清爽的代码来完成与删减之前相同的功能与操作,这样节省了空间,一定程度上提供了程序员便利。

匿名内部类结构的优化

简单举个例子

@Test
public void Main7(){
    File file=new File(".");
    File[] files=file.listFiles(new FileFilter() {//方法过滤器
        @Override
        public boolean accept(File f) {
            return f.isDirectory();//判断是否为目录,若不是的话,过滤掉
        }
    });
    System.out.println(Arrays.toString(files));
}

这是一个用匿名内部类改写的一个方法,下面用Lambda表达式来优化它

@Test
//用lambda表达式优化
public void Main9(){
    File file=new File(".");
    File[] files=file.listFiles(
         f->f.isDirectory()//判断是否为目录,若不是的话,过滤掉
    );

    System.out.println(Arrays.toString(files));
}

总结Lambda表达式的优化原则

1.()中的参数类型,可以省略,如果有多个参数,每个参数类型一起省。
2.{}中如果只有一行代码,不论这个方法有没有返回值,那么{}和return和;可以一起省略
3.()中如果只有一个参数,()可以省略,和类型一起省,()中若无参数,那()不能省。
4.优化匿名内部类的时候,new后面那部分内容可直接省略

再看个例子

 new Thread(new Runnable() {
     @Override
    public void run() {
         System.out.println("Lambda表达式优化");
     }
}).start();

用Lambda表达式优化后

new Thread(() -> System.out.println("Lambda表达式优化")).start();

可以发现简化之后非常的简单,就一行代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值