RxJava操作符-布尔


all

public final Observable<java.lang.Boolean> all(Func1<? super T,java.lang.Boolean> predicate)

all接受一个Func1实现作为参数,all操作符会把源Observable释放的每个item作为Func1的参数,Func1实现返回一个布尔值,用来判断传入的那个源Observable释放的item是否满足内部定义的规则,满足了返回true,反之为false。假如源Observable正常终止(发出调用onCompleted通知)并且每个释放的item都满足Func1定义的规则,也就是对于每个传入Func1实现的源Observable释放的item,Func1实现都返回true,那么all操作符返回的Observable就只释放一个true布尔值然后结束,反之就释放一个false布尔值然后结束。

contains

public final Observable<java.lang.Boolean> contains(java.lang.Object element)

传入contains一个对象作为参数,如果源Observable释放的item中也有这个对象,那么contains返回的Observable就****立即****释放一个true布尔值然后结束,反之源Observable释放的item中没有这个对象,contains返回的Observable就返回一个false布尔值然后结束。

exists

public final Observable<java.lang.Boolean> exists(Func1<? super T,java.lang.Boolean> predicate)

和contains类似,不过传入exists操作符的是一个Func1实现,exists操作符将源Observable释放的item传给这个Func1实现,如果item满足Func1实现内部定义的规则返回true,反之返回false。只要源Observable释放的item中有一个满足Func1定义的规则,exists返回的Observable就****立即****释放一个true布尔值结束,反之如果源Observable没有释放任何item或释放的所有item都不满足Func1定义的规则,exits返回的Observable就释放一个false布尔值然后结束。

isEmpty

public final Observable<java.lang.Boolean> isEmpty()

我就喜欢这样的操作符,简单!China人看英文想要理解清楚了,还真得下一点功夫。这个操作符的作用是如果源Observable没有释放任何item,isEmpty返回的Observable释放一个true布尔值然后结束;如果源Observable只要释放了item,isEmpty返回的Observable****立即****释放一个false布尔值然后结束。

sequenceEqual

public static <T> Observable<java.lang.Boolean> sequenceEqual(Observable<? extends T> first, Observable<? extends T> second)
public static <T> Observable<java.lang.Boolean> sequenceEqual(Observable<? extends T> first, Observable<? extends T> second, Func2<? super T,? super T,java.lang.Boolean> equality)

这是一个静态方法哦!接受两个Observable作为比较源。sequenceEqual操作符会比较这两个源Observable,如果这两个源Observable正常结束,并且按相同的顺序释放一样的item序列,那么sequenceEqual返回的Observable就释放一个true布尔值然后结束,一旦两个源Observable释放的item有不同或遇到错误或异常发出调用onError通知,sequenceEqual返回的Observable就会立即放出一个false布尔值然后结束。你也可以传入一个Func2实现自定义比较规则。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 作者: maplejaw本篇只解析标准包中的操作符。对于扩展包,由于使用率较低,如有需求,请读者自行查阅文档。 创...
    maplejaw_阅读 45,836评论 8 93
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 注:只包含标准包中的操作符,用于个人学习及备忘参考博客:http://blog.csdn.net/maplejaw...
    小白要超神阅读 2,241评论 2 8
  • 创建操作 用于创建Observable的操作符Create通过调用观察者的方法从头创建一个ObservableEm...
    rkua阅读 1,872评论 0 1
  • 本篇文章介主要绍RxJava中操作符是以函数作为基本单位,与响应式编程作为结合使用的,对什么是操作、操作符都有哪些...
    嘎啦果安卓兽阅读 2,893评论 0 10