我可以在Scala中具有负值作为恒定表达吗?
-
23-10-2019 - |
题
我有一个Java通用,返回双重值:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface DoubleValue {
double value();
}
当我尝试将注释附加到Scala类中的字段上时,该值如下所示:
class Test {
@DoubleValue(-0.05)
var a = _
}
我在消息中遇到了一个编译器错误:“注释参数必须是常数;找到:0.05.unary_-”。我知道我需要一个数字文字,并且我研究了Scala语言规范,似乎 - 符号仅用于指数,但不用于曼蒂萨(Mantissa)。有人知道我如何使用注释如何具有负值作为运行时信息的负值?
谢谢,klinke
解决方案
看来这是一个错误。
在固定错误之前,您可以利用一个事实,即常数算术是常数且使用
@DoubleValue( 0-0.05 )
不隶属于 StackOverflow