Scala:关键字作为包名称

Ger*_*mán 18 scala

我正在尝试使用Java库(没有可用的源代码)来定义一些xxx.xxx.object包.Scala抱怨软件包名称中存在"对象",因此我无法从中导入,也无法使用完全限定名称引用其类.

有办法解决吗?

agi*_*all 29

将对象包装在`((1旁边的引号)应该有效.

xxx.xxx.`object` 
Run Code Online (Sandbox Code Playgroud)


Von*_*onC 24

为了完成agilefall答案,Scala语言规范提到导入包括id:

id ::= plainid
| ‘\`’ stringLit ‘\`’
Run Code Online (Sandbox Code Playgroud)

标识符也可以由后引号之间的任意字符串形成(主机系统可以对哪些字符串对于标识符合法施加一些限制).然后,标识符由除反引号本身之外的所有字符组成.

当需要访问Scala中保留字的Java标识符时,反引号括起的字符串是一种解决方案.
例如,该语句Thread.yield()是非法的,因为它yield是Scala中的保留字.但是,这是一个解决方法:

Thread.`yield`()
Run Code Online (Sandbox Code Playgroud)