Rxjava基本使用–条件型操作符
all()
只要有一个符合条件,就为false;否则为true
//示例:只要有一个为"cc"的,就是false
var a = "1"
var b = "2"
var c = "3"
var d = "cc"
if (a == "cc" || b == "cc" || c == "cc" || d == "cc"){
Log.e("RxJavaActivity","false")
} else {
Log.e("RxJavaActivity","true")
}
//类似于
Observable.just(a,b,c,d)
.all(object : Predicate<String>{
override fun test(t: String): Boolean {
return t == "cc"
}
}).subscribe(object : Consumer<Boolean>{
override fun accept(t: Boolean?) {
Log.e("RxJavaActivity","Rxjava=$t")
}
})
contains()
只要符合条件,就为true
Observable.just("JAVAEE","JAVASE","JAVAME","ANDROID","IOS")
.contains("ANDROID")
.subscribe(object : Consumer<Boolean>{
override fun accept(t: Boolean?) {
Log.e("RxJavaActivity","RxJava=$t")
}
})
any()
只要有一个符合条件就为true,否则为false
Observable.just("JAVAEE","JAVASE","JAVAME","ANDROID","IOS")
.any(object : Predicate<String>{
override fun test(t: String): Boolean {
return t == "ANDROID"
}
})
.subscribe(object : Consumer<Boolean>{
override fun accept(t: Boolean?) {
Log.e("RxJavaActivity","RxJava=$t")
}
})