- Learning RxJava
- Thomas Nield
- 139字
- 2021-07-02 22:22:56
filter()
The filter() operator accepts Predicate<T> for a given Observable<T>. This means that you provide it a lambda that qualifies each emission by mapping it to a Boolean value, and emissions with false will not go forward.
For instance, you can use filter() to only allow string emissions that are not five characters in length:
import io.reactivex.Observable;
public class Launcher {
public static void main(String[] args) {
Observable.just("Alpha", "Beta", "Gamma", "Delta", "Epsilon")
.filter(s -> s.length() != 5)
subscribe(s -> System.out.println("RECEIVED: " + s));
}
}
The output of the preceding code snippet is as follows:
RECEIVED: Beta
RECEIVED: Epsilon
The filter() function is probably the most commonly used operator to suppress emissions.
Note that if all emissions fail to meet your criteria, the returned Observable will be empty, with no emissions occurring before onComplete() is called.
推薦閱讀
- JMeter 性能測試實戰(第2版)
- Django開發從入門到實踐
- 老“碼”識途
- Mastering LibGDX Game Development
- Learning Python Design Patterns(Second Edition)
- Java面向對象程序設計
- Mobile Device Exploitation Cookbook
- 計算機應用基礎案例教程
- Mockito Essentials
- Magento 2 Beginners Guide
- Oracle 12c從入門到精通(視頻教學超值版)
- Arduino Electronics Blueprints
- 零基礎學Java(第5版)
- Splunk Essentials
- JavaScript全棧開發