Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос про аннотации / 9 сообщений из 9, страница 1 из 1
07.04.2013, 00:36:52
    #38215764
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про аннотации
Встретил в книге примерно такое объявление аннотации

Код: java
1.
2.
3.
4.
public @interface testAnnotation{
String test1() default "lalala";
int test2() = 0;
}



у test1, если не указать никакого значения, по дефолту будет строка "lalala"

а что значит
Код: java
1.
int test2() = 0;

?
...
Рейтинг: 0 / 0
07.04.2013, 01:18:54
    #38215780
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про аннотации
и ещё. Как имею объект аннотации выделить конкретные значения в аннотации?
...
Рейтинг: 0 / 0
07.04.2013, 01:26:57
    #38215782
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про аннотации
если конкретно, то я получил такую аннотацию
@Mammal(color = 0xFFA844, sound = "uuuu")

как получить название(color/sound) и значение полей?
...
Рейтинг: 0 / 0
07.04.2013, 12:04:16
    #38215931
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про аннотации
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
Giraffe giraffe = new Giraffe();
 Annotation[] classAnnotations = giraffe.getClass().getAnnotations();
         
            for (Annotation annotation : classAnnotations) {
                if (annotation instanceof Mammal) {                  
                    Annotation annotation1 = (Mammal)annotation;
                    System.out.println(annotation1.sound());
                }
            }



так не работает - не понимает что такое sound.
хотя aннотация выглядит так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
@Target(ElementType.TYPE)
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface Mammal {
    String sound();

    int color();
}
...
Рейтинг: 0 / 0
07.04.2013, 13:26:59
    #38216027
rdm
rdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про аннотации
[quot redwhite90]
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
Giraffe giraffe = new Giraffe();
 Annotation[] classAnnotations = giraffe.getClass().getAnnotations();
         
            for (Annotation annotation : classAnnotations) {
                if (annotation instanceof Mammal) {                  
                    Mammal annotation1 = (Mammal)annotation;
                    System.out.println(annotation1.sound());
                }
            }
...
Рейтинг: 0 / 0
07.04.2013, 13:27:29
    #38216029
rdm
rdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про аннотации
Mammal annotation1 = (Mammal)annotation;
...
Рейтинг: 0 / 0
07.04.2013, 13:44:26
    #38216039
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про аннотации
rdm,

Спасибо - работает.

а по первому посту?
...
Рейтинг: 0 / 0
07.04.2013, 14:04:05
    #38216058
rdm
rdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про аннотации
redwhite90rdm,

Спасибо - работает.

а по первому посту?
может значение по умолчанию.
...
Рейтинг: 0 / 0
07.04.2013, 15:17:06
    #38216100
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про аннотации
rdm,

default это да.

а с равно ничего не работает. Взято из книги Хорстмана.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос про аннотации / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]