只在Kotlin中返回null的函数

时间:2018-03-11 01:47:31

标签: kotlin

是否可以声明只返回null的函数?不幸的是,您无法在返回类型部分中编写null。返回值应为null而不是Unit,以便它可以与可空操作符一起使用。

1 个答案:

答案 0 :(得分:6)

正如评论中所建议的那样,Nothing?应该是这种函数的返回类型:

fun alwaysNull(): Nothing? = null

documentation州:

  

[...]您可能遇到此类型的另一种情况是类型推断。此类型的可空变体Nothing?只有一个可能的值,即null。如果使用null初始化推断类型的值,并且没有其他信息可用于确定更具体的类型,编译器将推断出Nothing?类型:

val x = null           // 'x' has type `Nothing?`
val l = listOf(null)   // 'l' has type `List<Nothing?>