为什么我可以使用StringBuilder而不在scala中显式导入它?

为什么我可以使用StringBuilder而不在scala中显式导入它?,scala,import,stringbuilder,Scala,Import,Stringbuilder,我正在使用scala 2.11.0 我注意到StringBuilder是在scala.collection.mutable.StringBuilder和java.lang.StringBuilder中定义的。我还注意到scala隐式地导入java.lang.,scala.,scala.Predef_ 为什么在编写时使用scala.collection.mutable.StringBuilder而不是java.lang.StringBuilder val def = new StringBuild

我正在使用scala 2.11.0

我注意到StringBuilder是在scala.collection.mutable.StringBuilder和java.lang.StringBuilder中定义的。我还注意到scala隐式地导入java.lang.,scala.,scala.Predef_

为什么在编写时使用scala.collection.mutable.StringBuilder而不是java.lang.StringBuilder

val def = new StringBuilder
非常感谢,因为默认情况下一切都可用。i、 e.
scala.\u
默认可用

在该包对象中,您可以看到:

 type StringBuilder = scala.collection.mutable.StringBuilder
这就是为什么执行
新建StringBuilder
需要
scala.collection.mutable.StringBuilder
而不是
java.lang.StringBuilder

的原因,因为默认情况下一切都可用。i、 e.
scala.\u
默认可用

在该包对象中,您可以看到:

 type StringBuilder = scala.collection.mutable.StringBuilder

这就是为什么执行
新建StringBuilder
需要
scala.collection.mutable.StringBuilder
而不是
java.lang.StringBuilder

您可以通过查看

第74-45行按导入StringBuilder

type StringBuilder = scala.collection.mutable.StringBuilder
val StringBuilder = scala.collection.mutable.StringBuilder

您可以查看scala导入的内容

第74-45行按导入StringBuilder

type StringBuilder = scala.collection.mutable.StringBuilder
val StringBuilder = scala.collection.mutable.StringBuilder

Scala使用类型别名来确保核心Scala类型在不导入的情况下可用

将带您进入类型别名声明

此链接也将有助于-


请注意,由于类型别名声明位于Scala包对象中,并且Scala.uu是隐式导入的,因此它将类型别名声明带入每个编译单元的范围。

Scala使用类型别名来确保核心Scala类型在无需导入的情况下可用

将带您进入类型别名声明

此链接也将有助于-

请注意,由于类型别名声明位于Scala包对象中,并且Scala.\是隐式导入的,因此它将类型别名声明带入每个编译单元的范围