Scala では Java の API がシームレスに使えます。このとき、Java と同じようにインポート宣言を行います。Scala でのインポート宣言は Java のインポート宣言より少し強力です。
import java.text.DateFormat // Javaと同様のインポート宣言 import java.text.DateFormat._ // Javaでいう*インポート(Scalaでは*が識別子) import java.util.{Date, Locale} // 同じパッケージの複数クラスをインポート
別名インポート
以下のようにインポートすることで、別名を付けてインポートできます。
import java.util.{Date => DateTime}
除外インポート
以下の例は、MapとSetを除く、mutableパッケージのインポートになります。
import scala.collection.mutable.{_, Map => _, Set => _}
相対インポート
Scalaのインポートは相対的に行われるので、以下の例では、scala.collection と scala.collection.mutable の全てのクラスがインポートされます。
import scala.collection._ import mutable._
また上記は、scala 以下は暗黙的にインポートされるので、「import collection._」と書くこともできます。
ルートからのインポート
ルートパッケージからのインポートを明示するには以下の様にします。
import _root_.scala.collection.mutable.Map
暗黙的インポート
Scala では以下のインポート節が暗黙的に追加されている。
import java.lang_ import scala._ import Predef._
ここで注意点は、上記で後からインポートされたものが、先にインポートされたものを隠していることである。例えば、java.lang.StringBuilder は、 scala.StringBuilder によって隠されることになる。