io.reactivex.Flowable.ofType()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(3.8k)|赞(0)|评价(0)|浏览(163)

本文整理了Java中io.reactivex.Flowable.ofType()方法的一些代码示例,展示了Flowable.ofType()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Flowable.ofType()方法的具体详情如下:
包路径:io.reactivex.Flowable
类名称:Flowable
方法名:ofType

Flowable.ofType介绍

[英]Filters the items emitted by a Publisher, only emitting those of the specified type.

Backpressure: The operator doesn't interfere with backpressure which is determined by the source Publisher's backpressure behavior. Scheduler: ofType does not operate by default on a particular Scheduler.
[中]过滤发布者发出的项目,仅发出指定类型的项目。
背压:操作员不会干扰由源发布者的背压行为确定的背压。调度器:默认情况下,ofType不会在特定的调度器上运行。

代码示例

代码示例来源:origin: ReactiveX/RxJava

  1. @Test(expected = NullPointerException.class)
  2. public void ofTypeNull() {
  3. just1.ofType(null);
  4. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testOfType() {
  3. Flowable<String> flowable = Flowable.just(1, "abc", false, 2L).ofType(String.class);
  4. Subscriber<Object> subscriber = TestHelper.mockSubscriber();
  5. flowable.subscribe(subscriber);
  6. verify(subscriber, never()).onNext(1);
  7. verify(subscriber, times(1)).onNext("abc");
  8. verify(subscriber, never()).onNext(false);
  9. verify(subscriber, never()).onNext(2L);
  10. verify(subscriber, never()).onError(any(Throwable.class));
  11. verify(subscriber, times(1)).onComplete();
  12. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testOfTypeWithPolymorphism() {
  3. ArrayList<Integer> l1 = new ArrayList<Integer>();
  4. l1.add(1);
  5. LinkedList<Integer> l2 = new LinkedList<Integer>();
  6. l2.add(2);
  7. @SuppressWarnings("rawtypes")
  8. Flowable<List> flowable = Flowable.<Object> just(l1, l2, "123").ofType(List.class);
  9. Subscriber<Object> subscriber = TestHelper.mockSubscriber();
  10. flowable.subscribe(subscriber);
  11. verify(subscriber, times(1)).onNext(l1);
  12. verify(subscriber, times(1)).onNext(l2);
  13. verify(subscriber, never()).onNext("123");
  14. verify(subscriber, never()).onError(any(Throwable.class));
  15. verify(subscriber, times(1)).onComplete();
  16. }

代码示例来源:origin: cr330326/DemoComponent

  1. /**
  2. * 根据传递的 eventType 类型返回特定类型(eventType)的 被观察者
  3. *
  4. * @param eventType 事件类型
  5. * @return return
  6. */
  7. private <T> Flowable<T> toObservable(Class<T> eventType) {
  8. return bus.toFlowable(BackpressureStrategy.BUFFER).ofType(eventType);
  9. }

代码示例来源:origin: simplezhli/RxPay

  1. /**
  2. * 返回指定类型的带背压的Flowable实例
  3. *
  4. * @param <T>
  5. * @param type
  6. * @return
  7. */
  8. public <T>Flowable<T> toObservable(Class<T> type){
  9. return mSubject.toFlowable(BackpressureStrategy.BUFFER)
  10. .ofType(type);
  11. }
  12. /**

代码示例来源:origin: LuckSiege/PictureSelectorLight

  1. /**
  2. * 根据传递的 eventType 类型返回特定类型(eventType)的 被观察者
  3. *
  4. * @param eventType 事件类型
  5. * @return return
  6. */
  7. public <T> Flowable<T> toObservable(Class<T> eventType) {
  8. return bus.toFlowable(BackpressureStrategy.BUFFER).ofType(eventType);
  9. }

代码示例来源:origin: cr330326/DemoComponent

  1. /**
  2. * 根据传递的code和 eventType 类型返回特定类型(eventType)的 被观察者
  3. *
  4. * @param code 事件code
  5. * @param eventType 事件类型
  6. */
  7. private <T> Flowable<T> toObservable(final int code, final Class<T> eventType) {
  8. return bus.toFlowable(BackpressureStrategy.BUFFER).ofType(Message.class)
  9. .filter(new Predicate<Message>() {
  10. @Override
  11. public boolean test(Message o) throws Exception {
  12. return o.getCode() == code && eventType.isInstance(o.getObject());
  13. }
  14. }).map(new Function<Message, Object>() {
  15. @Override
  16. public Object apply(Message o) throws Exception {
  17. return o.getObject();
  18. }
  19. }).cast(eventType);
  20. }

代码示例来源:origin: LuckSiege/PictureSelectorLight

  1. /**
  2. * 根据传递的code和 eventType 类型返回特定类型(eventType)的 被观察者
  3. *
  4. * @param code 事件code
  5. * @param eventType 事件类型
  6. */
  7. private <T> Flowable<T> toObservable(final int code, final Class<T> eventType) {
  8. return bus.toFlowable(BackpressureStrategy.BUFFER).ofType(Message.class)
  9. .filter(new Predicate<Message>() {
  10. @Override
  11. public boolean test(Message o) throws Exception {
  12. return o.getCode() == code && eventType.isInstance(o.getObject());
  13. }
  14. }).map(new Function<Message, Object>() {
  15. @Override
  16. public Object apply(Message o) throws Exception {
  17. return o.getObject();
  18. }
  19. }).cast(eventType);
  20. }

相关文章

Flowable类方法