Java 7中的文件Lambda表达式

Java 7中的文件Lambda表达式,java,lambda,java-7,Java,Lambda,Java 7,下面的代码在Java8中运行良好 files.addAll(Arrays.asList(folder.listFiles((f) -> f.getName() .endsWith(CustomConstantsRepository.FILE_EXT_DAT) && f.getName().startsWith(fileName)))); 我需要同样的功能才能在Java7中工作 提前感谢。您将使用,因为Java

下面的代码在Java8中运行良好

files.addAll(Arrays.asList(folder.listFiles((f) -> f.getName()
                .endsWith(CustomConstantsRepository.FILE_EXT_DAT)
                && f.getName().startsWith(fileName))));
我需要同样的功能才能在Java7中工作

提前感谢。

您将使用,因为Java 8 lambda表达式本质上是一种语法糖,其作用几乎相同。看起来像这样

files.addAll(Arrays.asList(folder.listFiles(new FileFilter(){

        @Override
        public boolean accept(File f) {
            return f.getName().endsWith(CustomConstantsRepository.FILE_EXT_DAT) && f.getName().startsWith(fileName)));
        }

})));

请看,基本上,然后在else中为后缀和开头的名称添加验证。试试这个,这太棒了。我投票结束这个问题,因为“给我一个codez”