java.io.FileFilter
接口是一个功能接口,在java 8中由@FunctionalInterface
注释。
在这个例子中,我们将展示如何使用lambda表达式在FileFilter
中来列出子目录的名称。
文件:LambdaFileFilterExample.java –
package com.yiibai.tutorial.lambda; import java.io.File; import java.io.FileFilter; /** * @author yiibai */ 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
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/264089.html