【发布时间】:2018-09-09 18:29:55
【问题描述】:
我目前有一个 Observable<ProductIDUpdate> 发出一个表示产品 ID 更新的对象。更新可以是 ID 是新的ADDITION,也可以是已过期并需要DELETION。
public class ProductIDUpdate {
enum UpdateType {
ADDITION, DELETEION;
}
private int id;
private UpdateType type;
public ProductIDUpdate(int id) {
this(id, UpdateType.ADDITION);
}
public ProductIDUpdate(int id, UpdateType type) {
this.id = id;
this.type = type;
}
}
我想跟踪具有最大 ID 值的更新,因此我想修改流以便发出当前最高 ID。我将如何缓存流中的更新项,以便如果当前最高 ID 被删除,则发出下一个最高可用 ID?
【问题讨论】:
-
哪个流,哪个缓存?这些部分对我来说不够清楚。
-
没有缓存,流是我收到的更新的 Observable。我不确定如何处理数据以仅发出我需要的值 - 我假设预期行为需要缓存。
-
那你怎么称呼流?它是字面上的 Java
Stream还是您的可观察对象?很抱歉仍在尝试解决问题。 -
好吧,抱歉,该流是一个 RxJava Observable
流——即它发出我从流式源接收的 ProductIdUpdate 对象。
标签: java caching java-8 stream rx-java