Запрос о коде Java

Я искал учебник по валидации формы Spring. Вчера я нашел один из этих строк

String message() default "{Phone}";

Class<?>[] groups() default {};

Class<? extends Payload>[] payload() default {};

вышеупомянутый код был для проверки поля телефонного номера. Если кто-нибудь может объяснить эти строки, которые будут полезны, я не спрашиваю ничего о проверке (я запутался, потому что они не являются ни функцией, ни экземпляром, насколько я думаю), у меня никогда не было видел этот тип кода в Java раньше.

1 ответ

Это элементы некоторого объявления аннотации, например

@interface A {
    String message() default "{Phone}";
    Class<?>[] groups() default {};
    Class<? extends Payload>[] payload() default {};

}

и вот как это можно использовать

@A(message = "Email", payload = {Payload.class})
class Test1 {
}

вышеупомянутая аннотация будет иметь значение по умолчанию groups значение = пустой массив классов

Другие вопросы по тегам