soc*_*soc 9 null scala class unit-type
考虑以下代码:
var unit: Unit = null
unit: Unit = ()
Run Code Online (Sandbox Code Playgroud)
a)为什么我允许将null赋给值类?(见§12.2.3)
b)为什么null转换为()?
Ken*_*oom 19
从scala规范部分6.26.1:
价值丢弃.如果
e具有某种值类型且期望的类型是Unit,e则通过将其嵌入到术语中而将其转换为期望的类型{ e ; () }.
换句话说,您的代码相当于
var unit: Unit = {null; ()}
unit: Unit = ()
Run Code Online (Sandbox Code Playgroud)
在null不转换-它只是忽略,取而代之的(),预定义的Unit值.
| 归档时间: |
|
| 查看次数: |
217 次 |
| 最近记录: |