我的IDE的工具表明,xs
已经在下面的代码片段输入Int*
:Seq [T]和T *之间的Scala有差异吗?
def accept(xs: Int*) = true
语言参考,但是,说重复参数声明为T*
具有类型Seq[T]
。 Int*
和Seq[Int]
之间有什么区别?
我的IDE的工具表明,xs
已经在下面的代码片段输入Int*
:Seq [T]和T *之间的Scala有差异吗?
def accept(xs: Int*) = true
语言参考,但是,说重复参数声明为T*
具有类型Seq[T]
。 Int*
和Seq[Int]
之间有什么区别?
它们是不同的,它存在于T *漏入类型签名的错误和令人遗憾的特性之间的某处。
是的,它们是不同的。例如,参见Overriding a repeated class parameter in Scala?
假设没有关于破坏现有代码的关注,会是什么规格说的方法以外的重复参数的类型?它是已知的还是它是一个辩论的问题呢?我觉得'def f(t:T *)= t'中的返回类型应该是'Seq [T]'。 – huynhjl 2011-04-13 09:12:56
毫无疑问,它应该是Seq [T]。 – extempore 2011-04-13 18:59:32