我猜測,出於兼容性原因,可變參數Any*
的類型是數組[任何] - 請糾正這個,如果我錯了。然而,這並不能說明以下錯誤:Scala:構造函數採取Seq或可變參數
class Api(api_url: String, params: Seq[(String, String)]) {
def this(api_url: String, params: (String, String)*)
= this(api_url, params.seq)
}
此代碼不能編譯,而是給出了警告:
double definition: constructor Api:(api_url: String, params: (String, String)*)Api and constructor Api:(api_url: String, params: Seq[(String, String)])Api at line 13 have same type after erasure: (api_url: java.lang.String, params: Seq)Api
那麼,如何定義一個構造採取任何可變參數,或者序列?
謝謝,這真的很有幫助。 :) – wen
我可以指出類型註釋':_ *'是真正使構造函數調用使用順序參數兼容可變參數構造函數。更多細節:http://stackoverflow.com/questions/6051302/what-does-colon-underscore-star-do-in-scala –