如何在Kotlin中以优雅的方式返回结果?

时间:2018-04-26 02:56:12

标签: kotlin

代码A和代码B可以很好地工作,但我认为在Kotlin中这不是一个好方法,有没有一种优雅的方法呢?谢谢!

代码A

  private fun getIndexByIntent(data: Intent): Int{
        var index=-1
        var id=getIDByIntent(data)

        for (aIndex in mListBackupItem.indices){
            if (mListBackupItem[aIndex]._id==id){
                index=aIndex
            }
        }    
        return index
    }

代码B

private fun getIndexByIntent(data: Intent): Int{
        var index=-1
        var id=getIDByIntent(data)

        for (aIndex in mListBackupItem.indices){
            if (mListBackupItem[aIndex]._id==id){
                return aIndex
            }
        }
        return index
    }

1 个答案:

答案 0 :(得分:6)

这个确切的逻辑已经以indexOfFirst函数的形式在标准库中实现,使用:

fun getIndexByIntent(data: Intent) : Int {
    val id = getIDByIntent(data)
    return mListBackupItem.indexOfFirst { it._id == id }
}