Sobes.tech
Junior — Middle

Qual é a diferença entre os tipos de dados Single e Observable na biblioteca RxJava?

sobes.tech IA

Resposta da IA

No RxJava, os tipos Single e Observable diferem em quantidade e caráter dos elementos emitidos:

  • Observable pode emitir qualquer quantidade de elementos (0, 1 ou muitos), e também pode terminar com sucesso ou com erro. É adequado para fluxos de dados onde se espera vários valores ao longo do tempo.

  • Single garante a emissão de exatamente um elemento ou um erro. É útil para operações que retornam um resultado único, como uma requisição de rede ou banco de dados.

Exemplo de uso de Single:

Single<String> single = Single.just("Olá");
single.subscribe(
    item -> System.out.println("Recebido: " + item),
    error -> System.err.println("Erro: " + error)
);

Observable pode parecer assim:

Observable<Integer> observable = Observable.just(1, 2, 3);
observable.subscribe(
    item -> System.out.println("Recebido: " + item),
    error -> System.err.println("Erro: " + error),
    () -> System.out.println("Concluído")
);