Хорошо, это своего рода вождение меня гайками. У меня этот класс: http://pastebin.com/agdnDhQw И я пытаюсь (un-) сортировать его из/в файл XML. Однако он работает нормально, независимо от того, сколько строк String-Variables я добавляю к классу HazardousItem, или какие модификаторы я использую (XmlAccessType.FIELD, None, ..), он не записывается в файл XML. И даже когда я читаю этот файл, он не жалуется на отсутствующий атрибут.JAXB игнорируя String на сортировке
Weird в том, что у меня есть еще один строковый атрибут, далее вниз файла, который работает просто отлично:
@XmlAttribute
protected String damageSource;
Я даже пытался добавить строку как XmlAttribute и XmlElement в корневой элемент, без успеха , Если я изменяю тип данных на int, он работает. Просто «String», кажется, игнорируется, в некоторых случаях. Я использую JAXB, который поставляется с JRE7 1.7.0_75, если это важно.
Просто для справки, это часть моего тест-выходного файла:
<hazardousItems>
<hazardousItem exactMatch="false">
<damageEffect damageSource="inFire" amount="0.5"/>
ExactMatch есть, но не unlocName. Как раз в следующем элементе, damageEffect, String экспортируется (damageSource)
Почему это?
Является ли ваша строка нулевым в тех случаях, когда она не экспортируется? Поскольку int является примитивным типом и поэтому никогда не имеет значения null (0 по умолчанию). –
Я чувствую, что SOO дамп сейчас .. Да, это было решение. В моем FactoryClass, из-за массивной копии и вставки, я вернул новый экземпляр _HazardousItem_ вместо заполненного. Спасибо за подсказку! – Namikon
Добро пожаловать. Это случается со мной часто, поэтому, это была моя первая догадка. :) Я добавлю «официальный» ответ ниже, чтобы другие могли легче видеть это, когда сталкиваются с подобной проблемой. –