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

Filefilter 和lambda表达式的简单介绍

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

Filefilter 和lambda表达式的简单介绍

File[] listFiles(FileFilter filter)
该方法需要传入一个过滤器,过滤器中定义了一个过滤条件,此时listFiles方法会利用该
过滤器将该目录中所有子项经过一遍过滤器,并最
public class LitsFilesDemo2 {
    public static void main(String[] args) {
        //获取当前目录下名字中含有字母"s"的所有子项

        File dir = new File(".");//表示当前目录
        if(dir.isDirectory()){
            FileFilter filter = new FileFilter() {
                
                public boolean accept(File file) {
                    String name = file.getName();//获取该文件或目录的名字
//                    int index = name.indexOf("s");//正则表达式
//                    return index>=0;
                    //字符串支持boolean contains(String str),用于判断当前字符串是否包含参数指定的内容
                    return name.contains("s");//若有s就返回true

//                    String regex = ".*s.*";
                }
            };
            //将过滤器插到listFiles方法中,将每个子项都经过一次过滤器并返回符合要求的。
            File[] subs = dir.listFiles(filter);
            System.out.println(subs.length);
            for(int i=0;i 
终返回符合过滤器要求的所有子项。
lambda表达式是JDK8之后推出的一个特性
可以用更精简的语法创建匿名内部类
语法:
(参数列表)->{
    方法体
}
lambda表达式不是所有匿名内部类都可以被替代,要求是实现的接口只能有一个抽象方法时
才能使用lambda表达式
public class LambdaDemo {
    public static void main(String[] args) {
        //定义文件过滤器  匿名内部类写法
        FileFilter filter = new FileFilter() {
            public boolean accept(File file) {
                return file.isFile();
            }
        };
        //lambda表达式是编译器认可的,编译成字节码文件时会被编译器改回成内部类创建
        FileFilter filter1 = (File file)->{
                return file.isFile();
        };
        //lambda表达式允许忽略参数类型
        FileFilter filter2 = (file)->{
            return file.isFile();
        };
        //lambda表达式如果方法体中只有一行代码,那么方法体的{}可以不写,如果这句代码含有return,那么return必须一同省略。
        FileFilter filter3 = (f)->f.isFile();

    }
}

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

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

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