如何在Java的Lambda表达式中使用FileFilter接口?

的FileFilter 是一个功能 接口 从“ java.io ”包。它可用作lambda表达式 方法 引用的分配目标。FileFilter 接口的一个实例,该实例传递到File 类的listFiles ()方法。具有一个抽象方法accept()的FileFilter 接口,它测试指定的抽象路径名是否已包含在路径名列表中。

语法

@FunctionalInterface
public interface FileFilter

示例

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

public class FileFilterTest {
   public static void main(String[] args) {
      File dir = new File("C:/Program Files/Java/jdk1.8.0_211");

      File[] subDir = dir.listFiles((file) -> {    // lambda expression            return file.isDirectory();
         }
      );
      for(File file : subDir) {
         System.out.println(file.getName());
      }
   }
}

输出结果

bin
include
jre
lib