创建一个名为'val'的Java包并在其中放入一个类,并尝试在Scala程序中导入它。 scalac将失败,并显示以下错误消息:
[scalac] /tmp/Hello.scala:6: error: identifier expected but 'val' found.
[scalac] import net.slimweb.ann.val.NotEmpty
[scalac] ^
[scalac] one error found
有什么想法吗?
答案 0 :(得分:14)
import net.slimweb.ann.`val`.NotEmpty
反引号可用于转义符号:
scala> val `val` = 1
val: Int = 1
scala> class `val`
defined class val
除了使用它们来定义具有保留名称的符号,或者调用具有关键字作为方法的遗留Java代码(例如,以其命名的方法)之外,它们还可以用于包含空格的符号或其他奇怪的字符