Я пытаюсь получить фрагмент Array
как Seq
, избегая копирования. Я могу использовать метод toSeq
.
val array = Array[AnyRef](
new Integer(1),
new Integer(2),
new Integer(3),
new Integer(4),
new Integer(5)
)
val seq = array.toSeq
array(1) = null
println(seq.mkString(",")) //1,null,3,4,5
Работает нормально: Пример Ideone Live . Массив не был скопирован. Но когда я пытаюсь нарезать его
val array = Array[AnyRef](
new Integer(1),
new Integer(2),
new Integer(3),
new Integer(4),
new Integer(5)
)
val seq = array.toSeq.slice(0, 3)
array(1) = null
println(seq.mkString(",")) //1,2,3
Как видно, копия сделана: Пример Ideone Live . Я пытаюсь избежать этого. Есть ли способ сделать это в Scala?