java Stream () показывает ошибку при использовании метода .replaceAll () в списке строк - PullRequest
0 голосов
/ 23 октября 2019

У меня есть база фильмов, которая содержит такие вещи, как название, год, список актеров, список продюсеров и список режиссеров. Я пытаюсь разработать метод, который принимает настоящее имя актера и заменяет его сценическим именем актера, хранящимся в базе данных. Я придумал следующий код.

void actorNameChange()
    {
        Scanner s = new Scanner(System.in);
        System.out.println("Actor Real name : ");
        String realName = s.nextLine();
        System.out.println("Actor stage Name : ");
        String stageName = s.nextLine();
        List<Movie> movies = data.stream().filter(m -> m.getActors().contains(stageName)).collect(toList());

           movies.stream().map(movie -> movie.getActors().stream().sorted(st -> st.replaceAll(realName,stageName)).toArray();
//i am gaetting error here at st.replaceAll() -> method doesn't found
    }

1 Ответ

0 голосов
/ 23 октября 2019

Вы можете использовать простой forEach с List#replaceAll для обновления существующей коллекции, например:

data.forEach(movie -> movie.getActors().replaceAll(m -> m.replace(realName, stageName)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...