Поскольку единственным типом примитивов без знака в Java является char
, что имеет очень специфическое значение для обозначения символа Юникод, использование long
является наиболее идиоматическим способом.
По умолчанию JAXB также сопоставляет xsd:unsignedInt
с long
. ( источник )
Редактировать : Если вы знаете, что старший бит равен 0, или используете операции только в том случае, если знак не имеет значения (например, вы просто передаете данные), вероятно, int
чаще. JAXB по умолчанию long
, потому что он не может знать, как вы собираетесь использовать данные.