Collections toList

DeVolt

Mitglied
Ich bin zu doof.

Hier ist eine Liste mit Personen. Ich will als return Wert wieder eine Liste mit Personen.
Ich erzeuge einen Stream, hole mir den Namen und filtere diesen. Aber toList macht dann natürlich eine Liste mit Strings daraus. Wie kann ich zwischen dem filter und dem collect wieder zu der Liste mit Personen kommen?

Java:
    private static List<Person> filtern1()
    {       
            return liste.stream()
            .map(Person::getName)   
            .filter(name -> name.endsWith("er"))
            .collect(Collectors.toList());
    }
 

InfectedBytes

Top Contributor
du darfst nicht mappen.
Durch die map Anweisung erzeugst du dir nur eine Liste aus Strings.
Lass also die map anweisung weg und passe deinen filter an
Java:
return liste.stream()
            .filter(person -> person.getName().endsWith("er"))
            .collect(Collectors.toList());
 

Neue Themen


Oben