Scala中的_root_包是什么?

我正在使用IntelliJ IDEA与Scala插件。 如果我在代码中引用HashMap,然后使用Alt-Enter添加导入,则将导入的包为:

_root_.scala.collection.immutable.HashMap 

这是什么根源 ? 它似乎与没有它一起工作。

它必须做scala导入是相对的 – _root_给你一种指定绝对包名的方法。 查看Scala Wiki

你只需要它,如果你的当前包中有一个包含HashMap的嵌套包scala.collection.immutable。 这将是一个没有_root_部分的相对input。

编辑:这是不完全正确的,如果你有一个Scala包作为祖先或嵌套在当前包中的问题已经开始了。

Scala语言规范在9.4节“ 包引用”中有关于_root_说法

特殊的预定义名称_root_是指包含所有顶层包的最外层的根包。

请参阅以下PDF以获取完整的语言参考: http : //www.scala-lang.org/docu/files/ScalaReference.pdf