【发布时间】:2017-12-30 20:41:20
【问题描述】:
我像这样初始化我的变量:-
val user: BehaviorSubject<User?> user = BehaviorSubject.create()
但我不能这样做。 IDE 报错:-
user.onNext(null)
这样做,IDE 说你永远不会为空:-
user.filter( u -> u!=null)
【问题讨论】:
-
您不能 - 即使在 Java 中,
.onNext(null)的计算结果也会为.onError(new NullPointerException(...))。 -
在 RxJava 1 中这是可能的。但在 2 中不是。
-
顺便说一句:您的代码甚至没有编译。请在此处仅发布有效代码。您可以编辑帖子以解决此问题。
-
@guenhter 如果问题是如何使代码编译,则代码不必编译。
-
RxJava 实现了不支持空值的反应流规范。您可以使用 github.com/gojuno/koptional 包装这些值。包括 RxJava 的过滤器
标签: android kotlin rx-java rx-java2 rx-kotlin