Почему выходные данные возвращают как истину, так и ложь - PullRequest
0 голосов
/ 02 ноября 2019

Я изучаю шаблоны проектирования с помощью rxJava и натолкнулся на необычный вывод. Выводя переменную isAbove, я выводю на консоль true и false. Ожидаемое значение должно быть false, так как 1 страна меньше миллиона. Может кто-нибудь объяснить, почему я получаю оба значения?

public Single<Boolean>isAllCountriesPopulationMoreThanOneMillion(List<Country> countries) {
        Single<Boolean> allAboveAMillion = Observable.fromIterable(countries).all(ctry -> ctry.population > 1000000);
        allAboveAMillion.subscribe(
                isAbove -> System.out.println("Are All countries above a million: " + isAbove)
                //outputs true first then false, unsure why
        );
        return Observable.fromIterable(countries).all(ctry -> ctry.population > 1000000);
    }
...