|
val too:Function1[Int,Int] = {
case x =>x + x + x
}
println(too) //其实是Function1这个trait的toString 源码:override def toString() = "<function1>"
println(too(3)) //9
def fun(i:Int):Int = {
i+i+i
}
println(fun(3)) //9
def too2:Function1[Int,Int] = {
case x => x + x + x
}
println(too2) //<function1>
println(too2(3)) //9
// val pf: PartialFunction[Int,Int] = too2.asInstanceOf[PartialFunction[Int,Int]] //java.lang.ClassCastException: com.joe.stu.PartialFunctionTest$$anonfun$too2$1$1 cannot be cast to scala.PartialFunction
// println(pf(3))
// val pf: PartialFunction[Int,Int] = fun 或too 或too2 都会提示类型转换有错误
val pxf: PartialFunction[Int,Int] = {
case x => x + x +x
}
val pxf1:Function1[Int,Int] = pxf
println(pxf1(3)) //9
|
|