如何使用 RxJavaInterop 将 RxJava 1 主题转换为 RxJava 2 主题?

How to convert RxJava 1 Subject to RxJava 2 Subject using RxJavaInterop?

我正在尝试转换 PublishSubject:

rx.subjects.PublishSubject<String> sj = rx.subjects.PublishSubject.create();
PublishSubject<String> sj2 = RxJavaInterop.toV2Subject(sj);

但是IDE表示不能将rx.subjects.Subject应用到rx.subjects.PublishSubject

您不能将它转换为 v2 PublishSubject 因为主题实现是最终的并且不能包装其他主题,因此,正如该方法的 return 类型所示,您必须使用io.reactivex.subjects.Subject<String> 作为类型:

rx.subjects.PublishSubject<String> sj = rx.subjects.PublishSubject.create();
io.reactivex.subjects.Subject<String> sj2 = RxJavaInterop.toV2Subject(sj);