- RxJava 教程
- RxJava - 主页
- RxJava - 概述
- RxJava - 环境设置
- 观测值
- RxJava - Observable 的工作原理
- RxJava - 创建 Observables
- RxJava - 单个可观察的
- RxJava - 也许可观察
- RxJava - 完整的可观察的
- RxJava - 使用 CompositeDisposable
- 运营商
- RxJava - 创建运算符
- RxJava - 转换运算符
- RxJava - 过滤运算符
- RxJava - 组合运算符
- RxJava - 实用操作符
- RxJava - 条件运算符
- RxJava - 数学运算符
- RxJava - 可连接运算符
- 科目
- RxJava - 主题
- RxJava - 发布主题
- RxJava - Behave主题
- RxJava-ReplaySubject
- RxJava-AsyncSubject
- 调度程序
- RxJava - 调度程序
- RxJava - 蹦床调度程序
- RxJava - 新线程调度程序
- RxJava - 计算调度程序
- RxJava - IO 调度程序
- RxJava - 来自调度程序
- 各种各样的
- RxJava - 缓冲
- RxJava - 窗口化
- RxJava 有用资源
- RxJava - 快速指南
- RxJava - 有用的资源
- RxJava - 讨论
RxJava - 使用 CompositeDisposable
CompositeDisposable 类表示一个可以容纳多个一次性物品的容器,并提供添加和删除一次性物品的 O(1) 复杂度。
类别声明
以下是io.reactivex.disposables.CompositeDisposable类的声明-
public final class CompositeDisposable extends Object implements Disposable, io.reactivex.internal.disposables.DisposableContainer
复合材料一次性示例
使用您选择的任何编辑器(例如 C:\> RxJava)创建以下 Java 程序。
ObservableTester.java
import io.reactivex.Maybe; import io.reactivex.Single; import io.reactivex.disposables.CompositeDisposable; import io.reactivex.disposables.Disposable; import io.reactivex.observers.DisposableMaybeObserver; import io.reactivex.observers.DisposableSingleObserver; import io.reactivex.schedulers.Schedulers; import java.util.concurrent.TimeUnit; public class ObservableTester { public static void main(String[] args) throws InterruptedException { CompositeDisposable compositeDisposable = new CompositeDisposable(); //Create an Single observer Disposable disposableSingle = Single.just("Hello World") .delay(2, TimeUnit.SECONDS, Schedulers.io()) .subscribeWith( new DisposableSingleObserver<String>() { @Override public void onError(Throwable e) { e.printStackTrace(); } @Override public void onSuccess(String value) { System.out.println(value); } }); //Create an observer Disposable disposableMayBe = Maybe.just("Hi") .delay(2, TimeUnit.SECONDS, Schedulers.io()) .subscribeWith(new DisposableMaybeObserver<String>() { @Override public void onError(Throwable e) { e.printStackTrace(); } @Override public void onSuccess(String value) { System.out.println(value); } @Override public void onComplete() { System.out.println("Done!"); } }); Thread.sleep(3000); compositeDisposable.add(disposableSingle); compositeDisposable.add(disposableMayBe); //start observing compositeDisposable.dispose(); } }
验证结果
使用javac编译器编译该类,如下所示 -
C:\RxJava>javac ObservableTester.java
现在按如下方式运行 ObservableTester -
C:\RxJava>java ObservableTester
它应该产生以下输出 -
Hello World Hi