如果在Kotlin中找不到可搜索的元素,我应该返回什么?

时间:2018-02-05 13:07:00

标签: kotlin

我有一个方法,可以在数组中搜索一些元素。在Java中,它是"返回null",但我无法在Kotlin中执行此操作。这样做怎么回事? 我的方法:

fun find(key: Int) : DataItem {
    var hashValue = hashFunc(key)

    while (true) {
        if (hashArray[hashValue].key == key) {
            return hashArray[hashValue]
        } else {

        }
        ++hashValue
        hashValue %= arraySize
    }
}

1 个答案:

答案 0 :(得分:3)

您需要在函数中声明,返回的值可以为null。 在类型(T?)

之后添加问号
fun find(key: Int) : DataItem? {
var hashValue = hashFunc(key)

    while (true) {
        if (hashArray[hashValue].key == key) {
            return hashArray[hashValue]
        } else {
            return null
        }
        ++hashValue
        hashValue %= arraySize
    }
}