假设我有一个 Scala 项目,在 package 下有一堆案例类com.example.a.b.c
。我想将所有这些类导入一个包com.example.c
(其中包含更多不冲突的案例类),以便在我的项目中的其他任何地方,我只需要import com.example.c._
使用来自com.example.c
和的每个案例类com.example.a.b.c
。
我怎样才能做到这一点?
有关于添加一个可以做你想做的事情的导出机制的讨论,但尚不清楚这是否会发生。
无论如何,目前唯一的办法是
例如,
package bar
case class Foo(i: Int) {}
需要在另一个包中模仿
package object baz {
type Foo = bar.Foo
val Foo = bar.Foo
}
面对这种情况,人们通常只会满足于额外的一两次进口。
scala 中的 import 语句只是告诉编译器在哪里可以找到其他类(如 java 中的类),而不像 C/C++ 中的 #include 指令,其中编译器会物理复制整个头文件。如果您想使用来自 的案例类com.example.a.b.c
,您应该从它们自己的包中导入它们,因为这是常规方式。