Вызовите метод для возвращаемого значения ссылки на метод
У меня есть поток файлов, которые я хочу отфильтровать по окончанию имени файла:
public Stream<File> getFiles(String ending) throws IOException {
return Files.walk(this.path)
.filter(Files::isRegularFile)
.map(Path::toFile)
.filter(file -> file.getName().endsWith(ending));
}
В то время как лямбда в последней строке неплохая, я подумал, что мог бы также использовать ссылки на методы, например:
.filter(File::getName.endsWith(ending));
Или, альтернативно, в скобках. Однако это не сThe target type of this expression must be a functional interface
Можете ли вы объяснить, почему это не работает?