У меня может быть отрицательная величина как константное выражение в Scala?

У меня есть Аннотация 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

11
задан Klinke 2 June 2010 в 15:49
поделиться

1 ответ

Похоже, это ошибка.

Пока ошибка не будет исправлена, вы можете воспользоваться тем фактом, что арифметика над константой является константой, и использовать

@DoubleValue( 0-0.05 )
7
ответ дан 3 December 2019 в 11:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: