scala:将 None 设置为 Option

标签 scala

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

最佳答案

因为 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

关于scala:将 None 设置为 Option,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43169456/

相关文章:

Scala 原语到 AnyRef 的隐式转换

scala - 如何在SPARK SQL中使用LEFT和RIGHT关键字

linux - Ubuntu 上的 SCALA_HOME 在哪里?

scala - 具有隐式转换的类型类中的堆栈溢出

scala - 设置 scala.js 交叉编译库

Scala - 在没有多态性的情况下实现多态抽象特征

postgresql - 无法连接到 PostgreSQL 中的数据库

scala - Play Scala Oauth 提供程序错误

sql - 如何使用 ScalaQuery 构建 count(*) sql 查询?

java - 用于共享大型不可变对象(immutable对象)的工厂/缓存策略