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实现自定义比较规则。