Scala导入多个包

pau*_*ies 7 scala package

我在他们自己的包中有一些Scala类和对象.每个包都有一个包定义一些含义的包对象,因此例如import com.foo.bar._bar包中导入所有含义和类

我想知道的是,有没有办法定义一个"伞"导入com.foo.all,比如这样

import com.foo.all._
Run Code Online (Sandbox Code Playgroud)

相当于

import com.foo.bar._
import com.foo.baz._
import com.foo.qux._
...
Run Code Online (Sandbox Code Playgroud)

我可以理解这可能有点不清楚,但如果我考虑我拥有大量自己的包的情况,这显然会更简洁.

om-*_*nom 11

我能提出的最短形式是:

import com.foo._, bar._, baz._, qux._
Run Code Online (Sandbox Code Playgroud)

例如:

import scala.collection.mutable._, PriorityQueue._, ArrayBuffer._
Run Code Online (Sandbox Code Playgroud)

编辑

也许,你想只使用一些特定的东西,如@ alex23所指出的,所以你可以写:

import com.foo.{foo, bar, baz}, bar._, baz._, qux._
Run Code Online (Sandbox Code Playgroud)


fla*_*ian 8

从同一个包导入多个类/对象的Scala方法是:

import scala.collection.immutable.{Map, HashMap, etc}
Run Code Online (Sandbox Code Playgroud)

酷Scala唯一的技巧:别名/重命名

import java.util.{Collection => JavaCollection}
Run Code Online (Sandbox Code Playgroud)