scala:将None设置为Option

时间:2017-04-02 14:27:27

标签: scala

我正在尝试将变量foo初始化为var foo = Some(0.0)None,但我得到None.type doesn't conform to expected type Some[Double]。指定变量没有值的正确方法是什么?

1 个答案:

答案 0 :(得分:7)

由于fooSome[Double],因此您无法为其分配None.type,因为它们是不同的类型(它们共享一个共同基础并不重要)。为了使您能够这样做,您需要明确声明foo的类型为Option[Double]

scala> var foo: Option[Double] = Some(0.0)
foo: Option[Double] = Some(0.0)

scala> foo = None
foo: Option[Double] = None

或使用Option.apply

scala> var foo = Option(0.0)
foo: Option[Double] = Some(0.0)

scala> foo = None
foo: Option[Double] = None