@DemPi

Почему не проходит проверка ArrayList на содержание в ней определенной строчки?

С помощью stream api вытащил из коллекции экземпляров классов их отдельные поля в новую коллекцию, которая состоит из строк. Новая коллекция создается правильно и в ней содержится нужная мне строка (при выводе ее на консоль или дебаге), но через проверку .contains("строка") выдается false, хотя по логике должно вывестись true. в чем может быть проблема?

List<String> checkingBooks = books.stream().map(Book::getGenre).toList();
        System.out.println(checkingBooks); // вывод элементов коллекции в консоль: [Утопия, Драма, Комедия, Драма]
        System.out.println(books.stream().anyMatch(x->x.getGenre().contains("Утопия"))); // проверяем исходную коллекцию (выдает false)
        System.out.println(checkingBooks.contains("Утопия")); // проверка на то же условие, но только в новой коллекции (тоже выдает false)
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы