创建可以使用单个或多个元素作为 Scala 中构造函数参数进行实例化的类
我想要一个可以用列表、数组、seq、set、stack、queue 等实例化的类。 我认为
class A
class B(elems:A*)
应该处理这样的事情。
这是我的解决方案:
class A
class B(elems:Iterable[A]){
def this(elem:A) = this(Seq(elem))
}
您能提出任何改进建议吗?
I want to have class that can be instantiated with list, array, seq, set, stack, queue etc.
In my opinion
class A
class B(elems:A*)
should handle such stuff.
This is my solution:
class A
class B(elems:Iterable[A]){
def this(elem:A) = this(Seq(elem))
}
Can you suggest any improvements?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
任何 Seq 或 Array 都可以通过使用
: _*
属性传递给具有重复参数的方法:Any Seq or Array may be passed to a method with repeated parameters by using the
: _*
ascription:这可能是一个小小的改进。
这将使这些合法化
This might be a minor improvement.
That'll make these legal