我试图了解这两种引用/定义Function Literal
(引用anonymous function
)方法之间的关键区别:
经过val
scala> val v2 = new Function[Int, Int] {
| def apply(a: Int): Int = a + 1
| }
v2: Int => Int = <function1>
并且通过def
scala> def f2 = new Function[Int, Int] {
| def apply(a: Int): Int = a + 1
| }
f2: Int => Int
在使用方面似乎几乎相同。我可以传递v2
或传递f2
给接受(Int) => Int
作为参数的函数。将参数传递给它的..
我猜还是 v2 的情况下它创建了一个Function1
引用该对象的Function1
对象.. 像proxy
?
好的..我的问题是:第一种和第二种方法的优缺点是什么?
它是由 定义的def
,它还在Function Literal
吗?