加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

arrays – 如何在Scala中将Option数组初始化为None

发布时间:2020-12-16 18:34:51 所属栏目:安全 来源:网络整理
导读:我在 Scala(2.9.1)中定义了一个类,如下所示: class A(val neighbors: Array[Option[A]]) { def this() = this(new Array[Option[A]](6)) // class code here ...} 我的问题是,当我希望用None初始化邻居时,使用null初始化邻居.我试过这个,但是编译器抱怨错误
我在 Scala(2.9.1)中定义了一个类,如下所示:

class A(val neighbors: Array[Option[A]]) {
   def this() = this(new Array[Option[A]](6))

   // class code here ...
}

我的问题是,当我希望用None初始化邻居时,使用null初始化邻居.我试过这个,但是编译器抱怨错误消息“找不到:输入None”:

class A(val neighbors: Array[Option[A]]) {
   def this() = this(new Array[None](6))

   // class code here ...
}

我可以做到这一点,它提供了所需的行为,但它似乎并不优雅:

class A(val neighbors: Array[Option[A]]) {
   def this() = this(Array(None,None,None))

   // class code here ...
}

所以,我的问题是,最好的方法是什么?

编辑:我指的是调用新A()时的行为.

解决方法

最简单的方法是

Array.fill(6)(None:Option[A])

另外,您可以更改类的构造函数以采用如下默认参数:

class A(val neighbors: Array[Option[A]] = Array.fill(6)(None))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读