1. 程式人生 > >Scala多維陣列、Java陣列與Scala陣列的隱式轉換

Scala多維陣列、Java陣列與Scala陣列的隱式轉換

多維陣列:陣列的元素,還是陣列,陣列套陣列,就是多維陣列

構造指定行與列的二維陣列:Array.ofDim方法
val multiDimArr1 = Array.ofDim[Double](3, 4)
multiDimArr1(0)(0) = 1.0

構造不規則多維陣列:
val multiDimArr2 = new Array[Array[Int]](3)
multiDimArr2(0) = new Array[Int] (1)
multiDimArr2(1) = new Array[Int] (2)
multiDimArr2(2) = new Array[Int] (3)

multiDimArr2(1)(1) = 1

Scala程式碼中,直接呼叫JDK(Java)的API,比如呼叫一個Java類的方法,勢必可能會傳入Java型別的list;Scala中構造出來的list,其實是ArrayBuffer;你直接把Scala的ArrayBuffer傳入Java接收ArrayList的方法,肯定不行。

import scala.collection.JavaConversions.bufferAsJavaList
import scala.collection.mutable.ArrayBuffer

val command = ArrayBuffer("javac", "C:\\Users\\Administrator\\Desktop\\HelloWorld.java")
val processBuilder = new ProcessBuilder(command)
val process = processBuilder.start()
val res = process.waitFor()

import scala.collection.JavaConversions.asScalaBuffer
import scala.collection.mutable.Buffer

val cmd: Buffer[String] = processBuilder.command()