我试图了解这两种引用/定义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吗?