Java 7 中的文件 Lambda 表达式
File Lambda expression in Java 7
下面的代码在 Java 8.
中工作正常
files.addAll(Arrays.asList(folder.listFiles((f) -> f.getName()
.endsWith(CustomConstantsRepository.FILE_EXT_DAT)
&& f.getName().startsWith(fileName))));
我需要相同的功能才能在 Java 7.
中工作
提前致谢。
您可以使用 Anonymous Inner Class,因为 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)));
}
})));
下面的代码在 Java 8.
中工作正常files.addAll(Arrays.asList(folder.listFiles((f) -> f.getName()
.endsWith(CustomConstantsRepository.FILE_EXT_DAT)
&& f.getName().startsWith(fileName))));
我需要相同的功能才能在 Java 7.
中工作提前致谢。
您可以使用 Anonymous Inner Class,因为 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)));
}
})));