@XmlElementRefs и @XmlElementRef аннотации в Java

Некоторые могут объяснить мне, что делает

@XmlElementRefs

и

@XmlElementRef

аннотации означают в Java и каково их использование..

Править: @skaffman

хорошо, предположите, что у меня есть один такой набор

@XmlElementRefs({
    @XmlElementRef(name="ElementA", type=ClassA),
    @XmlElementRef(name="ElementB", type=ClassB) }
)

List<Object> items;

Теперь, как я получаю доступ к каждому отдельному элементу этого списка? Следующий код является правильным?

for (int j = 0; j < items.size(); ++j) {
    if (items.get(i).getClass().equals(ClassA)) {
        // perform ClassA specific processing:
    } else if (items.get(i).getClass().equals(ClassB)) {
        // perform ClassB specific processing:
    }
}

Этот корректный подход? Существует ли лучший способ выполнить каждый класс определенная обработка? Я имею в виду, там способ избежать их if else конструкции?

13
задан MatrixFrog 19 May 2011 в 19:04
поделиться

1 ответ

XDebug? http://www.google.com/search?q=php+profiler

-121--3909798-

Низкоуровневые профилировщики - это модули, загруженные в исполняемый файл php и, следовательно, несколько труднее в настройке, но они обеспечивают телу результаты.

PQP является профилировщиком на основе кода. Хотя, вероятно, не так точно, как низкоуровневые профилировщики, упомянутые выше, это может быть все, что вам нужно, если вы ищете некоторые простые метрики.

-121--3909797-

Они используются для аннотирования коллекции, которая может содержать различные типы. Привязка Java для такого списка:

@XmlElementRefs({
   @XmlElementRef(name="ElementA", type=ClassA),
   @XmlElementRef(name="ElementB", type=ClassB)
})
List<Object> items

Здесь предметы может содержать произвольное сочетание ClassA и ClassB , и поскольку это не может быть выражено в сигнатуре типа List , она должна быть выражена с помощью аннотаций.

6
ответ дан 2 December 2019 в 01:57
поделиться
Другие вопросы по тегам:

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