我在他们自己的包中有一些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)
从同一个包导入多个类/对象的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)