Scala子类型查询

时间:2018-03-27 04:38:55

标签: scala types

scala中的

Nothing是所有其他类型的子类型。

根据定义,当T'是T的子类型,那么它暗示在预期T的上下文中,T'可以提供。

按照这个定义,如果在预期的上下文Int中,则不能提供任何内容。

它会起作用吗?

2 个答案:

答案 0 :(得分:1)

这句话是真的:

  

如果您的值为Nothing,则可以在期望Int的上下文中应用它。

我们称之为vacuous truth,因为没有Nothing类型的值。

但是,这句话是错误的:

  

如果在预期Int的情况下,可以提供Nothing

出于同样的原因。永远不会提供Nothing,没有Nothing类型的值。

答案 1 :(得分:0)

简答:

作为文档:Nothing:它描述了Nothing没有现有实例。所以用 Nothing 类型变量启动是不可能的,也无法在上下文中提供它。