我试图创建一个Request对象,在这里我可以获取一个String作为输入或String列表作为Input。我试图浏览各种答案,但我认为我没有在构造函数中找到List的任何用途。 我正在尝试做这样的事情。
class GetRequest(val url: String) {
def this(val urlList: List[String]){
}
}
与List的不变性有关吗?
答案 0 :(得分:3)
Scala强制具有一个主要构造函数,并根据需要提供尽可能多的构造函数 辅助构造函数。有一条规则:每个构造函数都必须调用以前定义的构造函数之一。
这应该对您有用:
class GetRequest(val urlList: List[String]) {
def this(url: String) {
this(List(url))
}
}
答案 1 :(得分:0)
在区分单个传递的参数和相同类型的集合时,实际上并不需要辅助构造函数。这就是varargs语法的目的。
class GetRequest(val urls: String*)
new GetRequest("s")
new GetRequest("a","b","c")
new GetRequest(List("x","y","z"):_*)
在构造函数代码urls
中,可以将其视为包含零个或多个元素的Seq[String]
。