IntelliJ не видит ошибки, но компилятор делает это при использовании RX и лямбда-выражений? - PullRequest
0 голосов
/ 21 февраля 2019

Привет У меня есть следующий код ...

Flowable.fromIterable(records.records())
    .flatMap(record -> {
        return consume(record);
    })
    .doOnError(t -> t.printStackTrace()) <--- Compiler complains about this
    .onErrorResumeNext(Flowable.empty())
    .doOnTerminate(() -> {
        ...
    }).subscribe();

И ...

public abstract Flowable consume(ConsumerRecord<String, String> record);

С вышеизложенным IntelliJ не жалуется ни на какие ошибки.Но в тот момент, когда я строю код, я получаю ...

Error:(71, 50) java: cannot find symbol
    symbol:   method printStackTrace()
    location: variable t of type java.lang.Object

Если я ставлю ...

public abstract Flowable<?> consume(ConsumerRecord<String, String> record);

Тогда он собирается и работает нормально.Итак, я думаю, что информация о типе как-то потеряна?

Обновление Приложение запускается через задачу Gradle run в Intellij.И уточнение, редактор IntelliJ / автозаполнение НЕ считает, что это ошибка.

1 Ответ

0 голосов
/ 22 февраля 2019

Согласно комментариям выше.Необходимо обновить с IntelliJ 2017 по крайней мере до 2018/2019.Теперь редактор видит это как ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...