RxJava Observables are much more robust and expressive than Futures, but if you have existing libraries that yield Futures, you can easily turn them into Observables via Observable.future():
importio.reactivex.Observable; import java.util.concurrent.Future; public class Launcher { public static void main(String[] args) { Future<String> futureValue = ...; Observable.fromFuture(futureValue) .map(String::length) .subscribe(System.out::println); } }