如果在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 } } 

One Solution collect form web for “如果在Kotlin中找不到可搜索的元素,我应该返回什么?”

你需要在函数中声明返回值可以是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 } } 
  • Kotlin插件错误:无法为类org.jetbrains.kotlin.gradle.tasks.KotlinCompile生成代理类
  • Kotlin的generics从java转换而来
  • 什么是从KType创建类实例的正确方法
  • 习惯性的Kotlin正则expression式
  • 如果在kotlin中找不到项目,如何在下一个位置添加元素
  • 从两个列表中获取不寻常的元素 - KOTLIN
  • 什么是Kotlin的“接收器”?
  • 在Kotlin中创建私有内部类的公共实例
  • 如何在应用程序中打开浏览器中与webview url无关的链接
  • 一个variables不能赋值为2
  • 找不到类databinding.FragmentBinding
  • Kotlin language will be the best programming language for Android.