我正在尝试使用Java库(没有可用的源代码)来定义一些 xxx.xxx.object 包。 Scala抱怨存在“对象”。在包名中,所以我无法从中导入,也不能用完全限定的名称引用它的类。

有办法吗?

有帮助吗?

解决方案

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

xxx.xxx.`object` 

其他提示

要完成 agilefall 回答 Scala语言规范 提到导入由 id 组成:

id ::= plainid
| ‘\`’ stringLit ‘\`’
  

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

     

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

Thread.`yield`()
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top