栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

lambda表达式

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

lambda表达式

用lambda表达式创建文件过滤器
获取当前目录下名字中含有名字o的所有子项

        File file =new File(".");
        File[] subs =file.listFiles(filer ->filer.getName().contains("o"));
        for(int i=0;i 


JDk8之后推出的lambda表达式
lambda表达式可以面向函数式编程
lambda表达式给我们的直观感受是可以用更简洁的语法创建匿名内部类
当要实现的接口中只有一个抽象方法时才可以使用lambda表达式去替换原始的匿名内部类形式创建

基本语法:
(参数列表)->{
    方法体
}

      该过滤器的过滤条件是名字含有t的则接受 

FileFilter filter=new FileFilter() {
            public boolean accept(File file) {
                
                return file.getName().contains("t");

            }
        };

以下为代码简略的过程 

        FileFilter filter1 = (File file)->{
            return file.getName().contains("t");
        };

        //参数类型可以忽略不写
        FileFilter filter2 = (file) ->{
            return file.getName().contains("t");
        };

        //如果方法体中只有一句代码时,方法体的{}可以不写
        //如果这句代码含有return关键字,那么在忽略{}的同时忽略return
        FileFilter filter3 = (file) ->file.getName().contains("t");
       

        //如果参数列表中只有一个参数时()可以不写
        FileFilter filter4= file ->file.getName().contains("t");                

     最简便的过滤器代码语句

   File[] sub1s =dir.listFiles(filter4= file ->file.getName().contains("t"));
       

   

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1030172.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号