【发布时间】:2014-04-08 09:21:34
【问题描述】:
我想在我的 Scala 代码中定义一个值,并在我的 Java 代码(调用 scala)中将此值视为常量(在注释中使用)。
例如:
object MyValues {
val a = 5
}
但是,当我尝试在 Java 注释中使用此值时,它给了我一个错误: java:属性值必须是常量
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyJavaAnnotation {
int aValue() default MyValues.a(); // <-- Error
}
这样调用也不行:MyValues$.MODULE$.a();
我还尝试在 val 前面加上 final 关键字,但没有成功。
有解决办法吗?
【问题讨论】: