Я изучаю шаблоны проектирования с помощью 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);
}