偏函数
偏函数不是函数,而是一个triat
Demo
def main(args: Array[String]): Unit = {
val list = List(1,3,4,5,"lits")
// 输入的 是 Any ,返回的 Int
// 如果返回true,则调用apply 创建对象实例,如果返回false,过滤
val partialFunction = new PartialFunction[Any,Int] {
override def isDefinedAt(x: Any): Boolean = x.isInstanceOf[Int]
// 对 传入 的值加 1 返回
override def apply(v1: Any): Int = {
v1.asInstanceOf[Int] + 1
}
}
// 如果使用 偏函数,就要使用 collect
// 遍历 list ,如果 true ,调用 apply,如果 false,不调用。
val list2 = list.collect(partialFunction)
println(list2)
}Last updated