在Scala中无需导入

oxb*_*kes 17 import scala

我最近听到一些建议"从Predef中取消隐式转换" - 我认为这意味着它也可能是unimport不需要的类:

import java.awt._
unimport java.awt.List
Run Code Online (Sandbox Code Playgroud)

但这不是"unmport"的语法(即没有这样的unimport关键字).什么是正确的语法?

Wal*_*ang 27

使用导入别名功能,但将"不需要的类"重命名为"_".由于无法在Scala代码中将"_"作为类名进行访问,因此它会将重命名的类隐藏为非限定访问.

import java.awt.{List => _, _}
Run Code Online (Sandbox Code Playgroud)

  • 不,这不是一个黑客,它只是超载"_"的含义.如果在import子句中单独使用,则表示一切.如果在导入重命名的右侧使用,则表示不导入. (7认同)
  • 很奇怪,但是,嘿,那是斯卡拉! (3认同)
  • 嗯 - 这看起来像一个笨拙的黑客`:-(` (2认同)