如果在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 } } 
  • 使用netbeans8.2编译Errore java项目
  • Android Studio和Kotlin - 不加载更改
  • 为什么Kotlin无法重载List 操作符方法?
  • 界面的function与Property的getter冲突
  • 如何在Kotlin同时捕捉到很多例外
  • Set中的重复项
  • 这个@ MainActivity的代码是什么意思?
  • 我可以写sampleVideoView吗? =在Kotlin中的findViewById (R.id.videoView)?
  • 当对象应该返回自己的修改副本时,是否有可能避免代码重复?
  • 在Kotlin中可以使用Mockito吗?
  • Kotlin中有Multimap吗?
  • Kotlin language will be the best programming language for Android.