阅读关于SAM Conversions的 Java 互操作文档,我期望 Kotlin 函数
Collections.sortWith(comparator: kotlin.Comparator<in T> /* = java.util.Comparator<in T> */)
能够在不需要显式指定参数的情况下采用 lambda 函数是 Comparator。但是,以下代码给出type inference failed
:
val someNumbers = arrayListOf(1, 5, 2)
someNumbers.sortWith({ x, y -> 1 })
然而:
val someNumbers = arrayListOf(1, 5, 2)
someNumbers.sortWith(Comparator { x, y -> 1 })
编译并正确运行