1.项目地址
在MainActivity5
2.讲解
有了这个中间操作后,下游都是一个boolean参数:
1.all
表示全部都:
以前的写法与用RxJava:下面的存在一个包含“cc”,所以
String v1="1";
String v2="2";
String v3="3";
String v4="cc";
//all全部都
//平常写法
if (v1.equals("cc")||v2.equals("cc")||v3.equals("cc")||v4.equals("cc")) {
Log.d(TAG, "r1: "+false);
}else {
Log.d(TAG, "r1: "+true);
}
Log.d(TAG, "r1: ------------------------------all-------------------------");
Observable.just(v1,v2,v3,v4)
.all(new Predicate<String>() {
@Override
public boolean test(String s) throws Throwable {
return !s.equals("cc");//全部都不等于cc
}
})
.subscribe(new Consumer<Boolean>() {
@Override
public void accept(Boolean aBoolean) throws Throwable {
Log.d(TAG, "accept: "+aBoolean);
}
});
2.contains
包含一个就返回true:下面包含“4”,所以返回true
//contains 是否存在一个包含某某
Observable.just("1","2","3","4","5","6")
.contains("4")
.subscribe(new Consumer<Boolean>() {
@Override
public void accept(Boolean aBoolean) throws Throwable {
Log.d(TAG, "accept: "+aBoolean);
}
});
3.any
任意一个就返回true:
//any 存在一个等于……
Observable.just("1","2","3","4","5","6")
.any(new Predicate<String>() {
@Override
public boolean test(String s) throws Throwable {
return s.equals("3");
}
})
.subscribe(new Consumer<Boolean>() {
@Override
public void accept(Boolean aBoolean) throws Throwable {
Log.d(TAG, "accept: "+aBoolean);//true
}
});