import io.reactivex.Observable; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; public class Launcher { public static void main(String[] args) { Observable source = Observable.just("Alpha", "Beta", "Gamma", "Delta", "Epsilon"); Observer mySubscriber = new Observer() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(Integer value) { System.out.println("RECEIVED: " + value); } @Override public void onError(Throwable e) { e.printStackTrace(); } @Override public void onComplete() { System.out.println("Done!"); } }; source.map(String::length) .filter(i -> i >= 5) .subscribe(mySubscriber); } }