Aufruf einer Methode auf den Rückgabewert einer Methodenreferenz

Ich habe einen Stream von Dateien, die ich basierend auf der Endung des Dateinamens filtern möchte:

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));
}

Während das Lambda in der letzten Zeile nicht schlecht ist, dachte ich, ich könnte dort auch Methodenreferenzen verwenden, wie zum Beispiel:

 .filter(File::getName.endsWith(ending));

Oder alternativ in Klammern. Dies schlägt jedoch mit @ feThe target type of this expression must be a functional interface

annst du erklären, warum das nicht funktionier

Antworten auf die Frage(6)

Ihre Antwort auf die Frage