Filter
你会很常用的,它的作用也很简单,过滤器嘛。可以接受一个参数,让其过滤掉不符合我们条件的值。
package com.netty.demo.vertx;
import io.reactivex.*;
import io.reactivex.functions.Consumer;
import io.reactivex.functions.Predicate;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class RxJavaTest {
public static void main(String[] args) throws InterruptedException {
Observable.create(new ObservableOnSubscribe<Integer>() {
@Override
public void subscribe(ObservableEmitter<Integer> emitter) throws Exception {
emitter.onNext(1);
emitter.onNext(2);
emitter.onNext(3);
}
}).filter(new Predicate<Integer>() {
@Override
public boolean test(Integer o) throws Exception {
return o.intValue() == 2;
}
}).subscribe(new Consumer<Integer>() {
@Override
public void accept(Integer integer) throws Exception {
log.info(integer.toString());
}
});
Thread.sleep(300000000);
}
}
2021-02-23 16:57:43 [main] INFO c.n.d.v.RxJavaTest:accept - 2