快學Scala 第四課 (多維數組,與Java集合的互操作)


Scala二維數組的定義:

    val arr2 = Array.ofDim[String](2, 2)
    arr2(0)(0) = "aa"
    arr2(1)(0) = "bb"
    for(i <- 0 until arr2.length; j <- 0 until arr2(0).length){
      println(arr2(i)(j))
    }

Scala不規則數組定義:

    val tri = new Array[Array[Int]](2)
    tri(0) = new Array[Int](2)
    tri(1) = new Array[Int](5)

當我們Scala調用java方法時,這個方法可能接受的是java 集合比如java.util.List, 我們完全可以引入scala.collection.JavaConversions里面的隱式轉換方法。

    val command = ArrayBuffer("aa", "bb")
    import scala.collection.JavaConversions.bufferAsJavaList
    val pb = new ProcessBuilder(command)
    
    import scala.collection.JavaConversions.asScalaBuffer
    val cmd: Buffer[String] = pb.command()
    

ProcessBuilder構造需要java.util.List對象,我們通過導入隱式轉換,ArrayBuffer對象會自動轉換為java.util.List對象,反之pb.command()返回的是java.util.List對象,通過隱式轉換,自動轉換為Buffer對象。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM