У меня есть Аннотация Java, которые возвращают двойное значение:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface DoubleValue {
double value();
}
Когда я пытаюсь присоединить аннотацию к полю в scala классе, и значение является negativ как здесь:
class Test {
@DoubleValue(-0.05)
var a = _
}
я получаю ошибку компилятора с сообщением: "аргумент аннотации должен быть константой; найденный: 0.05.unary_-". Я понял, что мне нужен числовой литерал, и я изучил Спецификацию языка Scala, и это кажется, что - знак только используется для экспоненты, но не для мантиссы. У кого-то есть идея, как у меня может быть отрицательная величина как информация о выполнении с помощью аннотаций?
Спасибо, Klinke
Похоже, это ошибка.
Пока ошибка не будет исправлена, вы можете воспользоваться тем фактом, что арифметика над константой является константой, и использовать
@DoubleValue( 0-0.05 )