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)) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |