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

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

(0)
上一篇 2022年6月7日
下一篇 2022年6月7日

相关推荐

发表回复

登录后才能评论