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兼容性。
浙公网安备 33010602011771号