比较Collections.sort的功能在Kotlin中期望Int类型的值

2022-09-29
前端之家小编收集整理的比较Collections.sort的功能在Kotlin中期望Int类型的值内容,希望整理的这个开发编程问题比较Collections.sort的功能在Kotlin中期望Int类型的值能够快速解决!

代码问题

在代码中:

Collections.sort(activities,Comparator<ResolveInfo> {
    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())
        }
    })

编译器告诉我“类型不匹配:必需的整数”。

但是它不是返回int吗?

我在做什么错?谢谢!

问题答案

实际上,解决方案非常简单-为了创建某个接口类的对象,在object之前需要关键字Comparator,如下所示:

Collections.sort(activities,object: Comparator<ResolveInfo> {
    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())
        }
    })

有关更多信息,请检查Object Expressions and Declarations

如果觉得前端之家所整理的内容很不错的话,欢迎点击下方分享按钮,转发给身边开发程序员好友。

编程问答


我正在尝试使用node.js,react和MongoDB将我的应用程序部署到Heroku;部署成功;但是,该网站无法从MongoDB获
里面的箱子有问题吗 <pre><code>case&#39;usal&#39;: d= (while(s2&gt;0)
我正在尝试从Wikipedia中查找页面列表的Wiki ID。这是我的想法,但是在打印“简介”时出现错误:“类型
我正在学习ES6,并且正在学习免费的在线课程。在课程中,我们涵盖了Promises,所以我有: <pre><code>i
当我尝试运行此代码时,它显示“ com.mysql.jdbc.JDBC4ResultSet@7e2d773b”,当前该表只有一条记录。 <pre><co