Java 8 使用Lambda表达式的FileFilter示例

java.io.FileFilter接口是一个功能接口,在java 8中由@FunctionalInterface注释。

在这个例子中,我们将展示如何使用lambda表达式在FileFilter中来列出子目录的名称

文件LambdaFileFilterExample.java -

package com.jb51.cc.tutorial.lambda;

import java.io.File;
import java.io.FileFilter;

/**
 * @author jb51.cc
 */
public class LambdaFileFilterExample {
    public static void main(String[] args) {
        File dir = new File(C:/Program Files/Java/jdk1.8.0_71);

        // Filter sub-directories using anonymous class
        File[] subDirs1 = dir.listFiles(new FileFilter() {
            @Override
            public boolean accept(File pathname) {
                return pathname.isDirectory();
            }
        });

        System.out.println(-------------Using anonymous class------------);
        for (File file : subDirs1) {
            System.out.println(file.getName());
        }

        // Filter sub-directories using Lambda expression
        File[] subDirs2 = dir.listFiles((file)->{return file.isDirectory();});
        System.out.println(-------------Using Lambda Expression------------);
        for (File file : subDirs2) {
            System.out.println(file.getName());
        }
    }
}

执行上面示例代码,得到以下结果:

-------------Using anonymous class------------
bin
db
include
jre
lib
-------------Using Lambda Expression------------
bin
db
include
jre
lib

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...