是否可以声明一个只返回的函数null
?不幸的是,你不能null
在返回类型部分写.返回值应该是null
而不是Unit,以便它可以与可空操作符一起使用.
正如评论中所建议的那样,Nothing?
应该是这样一个函数的返回类型:
fun alwaysNull(): Nothing? = null
Run Code Online (Sandbox Code Playgroud)
该文件规定:
[...]您可能遇到此类型的另一种情况是类型推断.这种类型的可空变体
Nothing?
只有一个可能的值,即null
.如果您使用null
初始化推断类型的值并且没有其他信息可用于确定更具体的类型,则编译器将推断Nothing?
类型:Run Code Online (Sandbox Code Playgroud)val x = null // 'x' has type `Nothing?` val l = listOf(null) // 'l' has type `List<Nothing?>
归档时间: |
|
查看次数: |
483 次 |
最近记录: |