1.25

互转java类型

seq -> java list

// in java, for scala 2.12.x
scala.collection.JavaConverters.seqAsJavaList(seq)
// in scala, scala 2.12.x
import scala.collection.JavaConverters._  // [.asJava] explicitly convert
import scala.collection.ImplicitConversionsToJava._  // as java implicits
import scala.collection.convert.ImplicitConversionsToScala._ // as scala implicits
import scala.collection.convert.ImplicitConversions._  // as java/scala implicits

// in scala 2.11.x
import scala.collection.JavaConversions._  // asScala implicits

scala.Int <--> java.lang.Integer
java调用时,本是scala.Int的对象(事实上java代码中看到的已经不是scala.Int而是int)自动成为java.lang.Integer;
scala调用时, scala.Int -> java.lang.Integer: Predef.int2integer(.); java.lang.Integer -> scala.Int: Predef.integer2int(.)。

java.util.Map转scala immutable.Map:
// scala 2.10
JavaConverters.mapAsScalaMapConverter(map).asScala().toMap(scala.Predef.MODULE.������.<scala.Tuple2<K, V>>conforms())

java stream -> scala stream
借助库org.scala-lang.modules:scala-java8-compat_2.12(“2.12”部分需对应scala版本),在定义compat依赖时,如果习惯通过引用pom property来定义版本,则不能定义该库版本的property名为"scala.compat.version",因为该property会被scala编译器用来检查多版本scala sdk兼容性。

posted @   秋渡晚枫  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示