Могу ли я иметь отрицательное значение в качестве постоянного выражения в 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, и кажется, что знак используется только для показателя, но не для мантиссы. У кого -то есть идея, как я могу иметь негативную ценность в качестве информации о выполнении с использованием аннотаций?
Спасибо, Клинке
Решение
Похоже, что это ошибка.
Пока ошибка не будет исправлена, вы можете воспользоваться тем фактом, что арифметика на константу является постоянной и использованием
@DoubleValue( 0-0.05 )
Не связан с StackOverflow