Как использовать фильтр в Java Stream API с массивом JSON

Я пытаюсь использовать функцию фильтрации потокового API с библиотеками Vert.x JsonArray и JsonObject. Моя IDE (IntelliJ) не жалуется на приведенный ниже код, но когда я запускаю код, я получаю исключение.

import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;

public JsonArray getNewItems(int group, int section) {
  JsonArray itemInfo = new itemsManager().getItems();
  JsonArray newItems = (JsonArray) itemInfo.stream().filter(i -> {
    return ((JsonObject) i).getInteger("group").equals(group) &&
           ((JsonObject) i).getInteger("section").equals(section);
  }).collect(Collectors.toList());
  return newItems;
}
--------
java.lang.ClassCastException: java.util.ArrayList cannot be cast to io.vertx.core.json.JsonArray

Если я изменю приведенный выше код на

List<Object> newItems = rowFacings.stream()...

тогда мой код работает нормально, но это создает новый набор проблем.

Как я могу отфильтровать массив JSON объектов JSON в новый массив JSON?

РЕДАКТИРОВАТЬ

Это может быть связано с библиотекой, поскольку я использую пакет Vert.x io.vertx.core.json. Я немного протестирую (org.JSON, com.google.gson, и т. д.) В духе поиска знаний и немного обновлю этот пост с любыми результатами.

как это дубликат вышеупомянутого поста? @nullpointer

Ousmane D. 03.12.2018 16:12

где вы изначально декларируете newItems и как?

scigs 03.12.2018 16:15

@scigs Это была ошибка в моем коде. Обновлено.

aCarella 03.12.2018 18:12
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
1 767
0

Другие вопросы по теме