Java пользовательская аннотация: сделайте атрибут дополнительным

// Don't know why we have to do this
61
задан flybywire 31 August 2009 в 15:13
поделиться

2 ответа

Вы можете указать значение по умолчанию для атрибута:

@Target(value={ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyCustomAnnotation  {
    Class<?> myType() default Object.class;
}
96
ответ дан 24 November 2019 в 17:20
поделиться

Нашел. Это не может быть необязательным, но значение по умолчанию может быть объявлено следующим образом:

@Target(value={ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyCustomAnnotation  {
    Class<?> myType() default String.class;
}

Если значение по умолчанию не может иметь смысла как «пустое» значение, то это проблема.

3
ответ дан 24 November 2019 в 17:20
поделиться
Другие вопросы по тегам:

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