我在最新文档中发现了一个声明:
It must be defined in Java instead of Scala so it will be accessible at runtime.
这是非常奇怪的,因为我认为Scala注释比Java对应更强。为什么缺少此功能?是否有计划将其添加回来?
答案 0 :(得分:4)
没有已知的计划在运行时保留Scala支持注释(该问题已知有一段时间,但正如this page所述,它不会被修复)。
Lukas Rytz,一位Scala提交者,在scala-language
邮件列表的a post上进行了解释:
这绝对不是一件轻而易举的事。 Java注释具体 字节码中的表示[...], 这需要更改Scala的字节码生成器。
java注释的语言也很特别,不同于 Java语言的其余部分[...],因此需要定义 如何在Scala类中表示它。