Поток JSONArray выдает предупреждение «Непроверенный вызов» фильтра (Предикат) '» - PullRequest
0 голосов
/ 05 октября 2018
void foo(JSONObject jsonObject) {
    JSONArray rows = (JSONArray) data.get("Rows");
    rows.stream().filter(obj -> {
        JSONObject jObj = (JSONObject) obj;
        return (boolean) jObj.get("IsFooBar");
    }).forEach(obj -> {
        JSONObject jObj = (JSONObject) obj;
        // Do more stuff...
    };
}

Этот код выдает мне следующие предупреждения:

Unchecked call to 'filter(Predicate<? super T>)' as a member of raw type 'java.util.stream.Stream'
Unchecked call to 'forEach(Consumer<? super T>)' as a member of raw type 'java.util.stream.Stream'

Как исправить эти предупреждения?

Кроме того, есть ли хороший способ привести все объекты внутри JSONArray кJSONObject перед операцией фильтра?Таким образом, мне не нужно приводить каждый объект внутри фильтра Предикат.

...