首页  

Scala 偏函数 例子2     所属分类 scala 浏览量 172
val list = List(1, 2, 3,"a")
忽略非数字,数字+1 返回新集合

list.filter(_.isInstanceOf[Int]).map(_.asInstanceOf[Int] + 1)
List[Int] = List(2, 3, 4)

使用偏函数实现

val partialFun = new PartialFunction[Any, Int] {
// isDefinedAt() true 时 执行 apply
  override def isDefinedAt(x: Any) = {
    x.isInstanceOf[Int]
  }
  override def apply(v1: Any) = {
    v1.asInstanceOf[Int] + 1
  }
}

list.collect(partialFun).foreach(println)
// 不能用map
// list.map(partialFun).foreach(println)

上一篇     下一篇
akka typed actor 实例之 echo

scala技术栈新人学习指南

Scala 偏函数 例子1

akka typed actor ask 实例

scala akka remote 实例

scala akka remote ask 实例