假设我有一个Person
接口,它有一个name
可观察的:
interface Person {
Observable<String> name;
}
它的实现:
class David implements Person {
Observable<String> name = BehaviorSubject<>.createDefault("David");
}
现在有一个问题,因为我无法获得name
可观察的当前值:
class Main {
public static void main(String[] args) {
Person person = PersonFactory.create();
System.out.println(??person.name.currentValue??);
}
}
我不想在我的界面中将名称公开为 BehaviorSubject,因为这样每个人都可以更改名称,这不是我想要的。
我有点理解 Observables 的逻辑,所以我知道它们不是为了存储任何值而设计的。那么什么是 RxJava 中的“具有当前值的不可变可观察对象”?
在 Android 中有一个LiveData
和MutableLiveData
。我的理解MutableLiveData
是等价于BehaviorSubject
,那么LiveData
在 RxJava 中的等价物是什么?