Scala集合与Java集合的相互转换
Scala集合与Java集合的相互转换
为什么要相互转换?
假如有一个Scala代码和一个Java代码,两者之间相互调用的时候,
中间可能需要传参数,因为两者在一些方面是不兼容的,因此需要相互转换
Java集合转换为Scala集合
Java转Scala,导入隐式转换:
import scala.collection.JavaConversions._
package com.shujia.scala
import java.util
object Demo26 {
def main(args: Array[String]): Unit = {
//创建一个Java集合
val arrayList = new util.ArrayList[Integer]()
arrayList.add(1)
arrayList.add(2)
arrayList.add(3)
arrayList.add(4)
arrayList.add(5)
/**
* 增强for循环底层使用的是迭代器
*
* java集合和scala集合不是同一个迭代器
* 所以在scala中不能使用增强for循环遍历java集合
*
* for (i <- arrayList) {
println(i)
} 这样写运行的时候会报错
*/
//导入隐式转换(隐式转换可以动态给对象增加新的方法)
import scala.collection.JavaConversions._
//导入后,Java的ArrayList集合就多了一些Scala的方法,比如:toList、toSet..
//将Java集合转换为Scala集合
val list: List[Integer] = arrayList.toList
}
}
Scala集合转换为Java集合
Scala转Java,导入:
import scala.collection.JavaConverters._
package com.shujia.scala
import java.util
object Demo26 {
def main(args: Array[String]): Unit = {
//创建一个Scala集合
val list2 = List(1, 2, 3, 4, 5, 6, 7)
//导入隐式转换
import scala.collection.JavaConverters._
//scala集合转换成java集合
val javaList: util.List[Int] = list2.asJava
}
}
分类:
Scala
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通