在Kotlin中将Lambdas与Comparator一起使用

时间:2019-11-03 22:46:20

标签: android kotlin

我的编译器告诉我:为比较器创建lambda时,“正在期待成员声明”。

Collections.sort(activities, object: Comparator<ResolveInfo> { a, b ->
    var pm = activity!!.packageManager
    return String.CASE_INSENSITIVE_ORDER.compare(
        a.loadLabel(pm).toString(),
        b.loadLabel(pm).toString())
    })

我不确定我是否正确编写了此lambda,将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:2)

您要将匿名类与lambda结合使用,请使用以下任一方法:

java.util.ConcurrentModificationException

Collections.sort(activities, object : Comparator<ResolveInfo> {
        override fun compare(a: ResolveInfo, b: ResolveInfo): Int {
            var pm = activity!!.packageManager
            return String.CASE_INSENSITIVE_ORDER.compare(
                a.loadLabel(pm).toString(),
                b.loadLabel(pm).toString()
            )
        }
    })