Это фрагмент кода, который пытается использовать функциональный интерфейс внутри функции фильтра.
Function<Path, Boolean> isNotPartitionFile = (path) -> {
if(!path.toString().contains("partition")) {
return true;
}
return false;
};
List<Path> pathsList = Files.walk(Paths.get(extractFilesLocation))
.filter(Files::isRegularFile)
.filter(isNotPartitionFile)
.collect(Collectors.toList());
Когда я пытаюсь использовать isNotPartitionFile
в качестве параметра для функции filter()
, затмение всплываетдо ошибки, которая говорит The method filter(Predicate<? super Path>) in the type Stream<Path> is not applicable for the arguments (Function<Path,Boolean>)
.Также предлагается привести к (Predicate<? super Path>)
, но при этом выдается ошибка времени выполнения, которая говорит о невозможности его приведения.Как мне это преодолеть?