JavaのコレクションをScalaのコレクションに変換する方法
ScalaでJavaのSystem.properties()を使いたかったのだけれど、
システムプロパティは、java.util.Propertiesなので、ScalaのMapとしては扱えません。
JavaのAPIで書くとすごく泥臭いコードになってしまいます。
ScalaのMapに変換できないのかな?と探していたら見つけました。
scala.collection.JavaConvertersオブジェクトです。
使い方は簡単。
// システムプロパティをscala.collection.mutable.Map[String,String]に変換 import scala.collection.JavaConverters._ val prop = System.getProperties().asScala
このpropは、scala.collection.mutable.Map[String,String]なので、Scalaのご機嫌なメソッドが使えます。
Map以外にも色々あります。また、逆にScalaのコレクションをJava側に変換するには、asScalaの代わりにasJavaでいけるみたいです。