(Scala) 如何将List转换为Seq

18 浏览
0 Comments

(Scala) 如何将List转换为Seq

我有一个函数如下:

def myFunction(i:Int*) = i.map(a => println(a))

但是我有一个Int类型的列表。

val myList:List[Int] = List(1,2,3,4)
期望的输出:
1
2
3
4

我该如何以编程方式将myList转换为可以插入myFunction的形式?

0
0 Comments

问题:(Scala)如何将List转换为Seq?

出现原因:在所需的输入和输出中,您希望传递一个 List,而期望一个可变参数的参数。可变参数方法可以接收零个或多个相同类型的参数。实际上,可变参数的类型是 Array[T]。但是,您可以通过使用"varargs ascription/expansion"(我不知道是否有官方的名称)将任何 Seq 传递给它:

myFunction(myList: _*)

解决方法:使用"varargs ascription/expansion"将 List 转换为 Seq。通过将 List 作为参数传递给方法,并在 List 后面加上": _*",将 List 转换为 Seq,然后传递给方法。

感谢您的回答。如果没有您的帮助,我可能要花很长时间才能弄清楚这个问题。

您能否解释一下您的答案?

我对此进行了更详细的阐述。实际上,我原本期望这个问题被关闭为重复问题...哈哈

0