Как элегантно вернуть результат в Котлине? - PullRequest
0 голосов
/ 26 апреля 2018

Код A и Код B могут хорошо работать, но я думаю, что это не очень хороший способ в Котлине, есть ли элегантный способ сделать это?Спасибо!

Код 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 голосов
/ 26 апреля 2018

Эта точная логика уже реализована в стандартной библиотеке в виде функции indexOfFirst, используйте ее:

fun getIndexByIntent(data: Intent) : Int {
    val id = getIDByIntent(data)
    return mListBackupItem.indexOfFirst { it._id == id }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...