【发布时间】:2014-09-24 17:20:13
【问题描述】:
我正在寻找比这更清洁的解决方案:
import scala.collection.mutable.ListBuffer
val y = Array(1,2,3,4)
val z = new ListBuffer[Int]()
y.foreach(elem => z += elem)
【问题讨论】:
标签: scala type-conversion idioms
我正在寻找比这更清洁的解决方案:
import scala.collection.mutable.ListBuffer
val y = Array(1,2,3,4)
val z = new ListBuffer[Int]()
y.foreach(elem => z += elem)
【问题讨论】:
标签: scala type-conversion idioms
另一种方法是使用to转换方法:
import scala.collection.mutable.ListBuffer
val arr: Array[Int] = Array(1, 2, 3, 4)
val buf: ListBuffer[Int] = arr.to[ListBuffer]
变量上的类型注释当然是多余的,我添加它们只是为了清楚起见。
to 非常通用,它允许在任意集合之间进行转换(即,从任何 Traversable 到在范围内具有适当 CanBuildFrom 实例的任何东西)。
【讨论】:
怎么样:
val z = ListBuffer(y: _ *)
ListBuffer.apply 接受可变参数样式的元素序列。签名是apply[A](elems: A *): ListBuffer[A] 为了将序列应用于这样的函数,我们使用语法: _ *
【讨论】:
* 运算符