(T,T)*
在擦除後解析爲Seq[(T,T)]
,但如何將(T,T)*
本身表示爲類型?將T *表示爲具體類型
我想問的原因是有我使用的API定義了:
def foo(bar: (String,String)*) = ...
但是當我嘗試在Seq[(String,String)]
傳遞失敗。
我的拉動請求添加在:
def foo(bar: Seq[(String,String)]) = ...
炸燬由於2種方法具有擦除之後相同的類型。
星形投影是否可以表示爲具體類型?
val s:Seq[(String, String)] = Seq(("a", "b"), ("c", "d"), ...)
foo(s:_*)
所以,你不應該需要兩個簽名:
沒有'T *'類型(對於任何'T')。它僅僅作爲一種將多個實際參數傳遞給具有某種「Seq [T]」的單一形式參數的模式。 –