Ich möchte Lambda-Ausdruck durch Methode Referenz im folgenden Beispiel ersetzen:Methode Referenz vs Lambda-Ausdruck
public class Example {
public static void main(String[] args) {
List<String> words = Arrays.asList("toto.", "titi.", "other");
//lambda expression in the filter (predicate)
words.stream().filter(s -> s.endsWith(".")).forEach(System.out::println);
}
}
Ich möchte ein, so etwas schreiben:
words.stream().filter(s::endsWith(".")).forEach(System.out::println);
ist es möglich, zu transformieren beliebiger Lambda-Ausdruck zur Methodenreferenz.
Mögliche Duplikate von [Methodenreferenzen für nicht leere Argumente?] (Http://StackOverflow.com/questions/15667804/method-references-for-non-empty-arguments) – fafl
Vielen Dank für Ihre Antwort. kannst du mir bitte eine transformation in meinem fall zeigen weil ich mit (s :: endsWith (".")) einen kompilierungsfehler bekomme. – midy62
Sie können '' 'nicht verwenden, wenn sich das Argument im Instanzaufruf befindet. Sie können 's ->" hi ".equals (s)' mit '" hi ":: equals ersetzen, aber nicht, wenn es' s -> s.equals ("hi") ' –