Kor*_*aga 8 java primitive java-metro-framework jaxb char
我正在使用JAXB开发一个项目,但是我遇到了一个JAXB和char数据类型的小问题.
char gender = 'M';
Run Code Online (Sandbox Code Playgroud)
编组后转换为:
<gender>77</gender>
Run Code Online (Sandbox Code Playgroud)
所以我认为char被映射到整数,但我只想将它映射到String.我怎样才能做到这一点?它甚至可能吗?
经过一些实验,似乎没有办法配置JAXB来正确处理原始字符.不过,我很难接受它.
我已经尝试定义一个XmlAdaptor尝试并将其强制转换为String,但运行时似乎只接受在对象类型上注释的适配器,而不是基元.
我能想到的唯一解决方法是用char标记char字段@XmlTransient,然后编写获取和设置值为字符串的getter和setter:
@XmlTransient
char gender = 'M';
@XmlElement(name="gender")
public void setGenderAsString(String gender) {
this.gender = gender.charAt(0);
}
public String getGenderAsString() {
return String.valueOf(gender);
}
Run Code Online (Sandbox Code Playgroud)
不是很好,我会授予你,但实际上没有将你的char字段改为String,这就是我所拥有的.
| 归档时间: |
|
| 查看次数: |
5511 次 |
| 最近记录: |