Description
When an object implements a SAM interface (one with a Single Abstract Method), you can pass a lambda instead. Read more about SAM-conversions.
In the previous example change an object expression to a lambda.
オブジェクトが(1つの抽象メソッドを持つ)SAMインターフェースを実装する場合は、代わりにラムダを渡すことができます。SAM変換 を読んでください。
前回の例 のオブジェクト式をラムダに変更してください。
Code
import java.util.*
fun getList(): List<Int> {
val arrayList = arrayListOf(1, 5, 2)
Collections.sort(arrayList, { x, y -> y - x })
return arrayList
}
Memo
- SAM変換
- SAM(Single Abstract Method) ... 1つの抽象メソッドだけ持つ抽象クラス
- 2つ以上のメソッドを持つ場合は、object式を使用する