参照/定義のこれら2つのアプローチの決定的な違いを理解しようとしています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
orを渡すことができます。その..に引数を渡すf2
(Int) => Int
v2の場合、Function1
オブジェクトを参照するオブジェクトを作成すると思いFunction1
ます..のようにproxy
?
わかりました..私の質問は: 1 番目と 2 番目のアプローチの長所と短所は何ですか?
そして、それは によって定義されdef
ていますが、まだFunction Literal
ですか?