【发布时间】:2011-10-25 19:19:16
【问题描述】:
我猜测,出于兼容性原因,可变参数Any* 的类型是 Array[Any] - 如果我错了,请更正。但是,这并不能解释以下错误:
class Api(api_url: String, params: Seq[(String, String)]) {
def this(api_url: String, params: (String, String)*)
= this(api_url, params.seq)
}
此代码无法编译,但会发出警告:
双重定义: 构造函数 Api:(api_url: String, params: (String, String)*)Api 和构造函数 Api:(api_url: String, params: 第 13 行的 Seq[(String, String)])Api 在擦除后具有相同的类型: (api_url: java.lang.String, params: Seq)Api
那么如何定义一个使用可变参数或序列的构造函数?
【问题讨论】:
标签: scala types constructor variadic-functions