【Scala笔记——术】Scala集合类与Java集合类转化
scala提供了强大的类型转换功能,从而可以简单的完成java实例向scala实例的转换。下面总结了常用的几种类型转换方式
import java.lang.{Integer => JInt}
import java.util.{ArrayList => JArrayList, List => JList}
import scala.collection.JavaConverters._
object ListConversion {
def main(args: Array[String]): Unit = {
val jList: JArrayList[Int] = new JArrayList[Int]
jList.add(1)
jList.add(2)
jList.add(3)
val list = List[Int](1, 2, 3)
val jListWrapper = new JArrayList[JInt]
jListWrapper.add(1)
jListWrapper.add(2)
jListWrapper.add(3)
println(jlist2List(jList))
println(list2Jlist(list))
println(jlistWithWrapper2List(jListWrapper))
println(List2jlistWithWrapper(list))
}
//Java.List 转换 Scala.List
def jlist2List(li: JList[Int]): List[Int] = {
asScalaBuffer(li).toList
}
//Scala.List转换 Java.List
def list2Jlist(li: List[Int]): JList[Int] ={
seqAsJavaList(li)
}
//Java.List[包装类] 转换 Scala.List
def jlistWithWrapper2List(li: JList[JInt]): List[Int] = {
asScalaBuffer(li).map(l => l: Int).toList
}
//Scala.List 转换 Java.List[包装类]
def List2jlistWithWrapper(li: List[Int]): JList[JInt] = {
seqAsJavaList( li.map( i => i: JInt))
}
}