我有一个具有基本类型 double 和 long 的类。在编码时,我必须避免包含零值的变量。尝试了 @XmlJavaTypeAdapter
并在同一内部尝试返回 null 值 - 但失败了。
有办法吗? 搜索了其他帖子,没有找到解决办法
最佳答案
使用以下适配器
import javax.xml.bind.annotation.adapters.XmlAdapter;
public class DoubleAdapter extends XmlAdapter<Object, Double> {
public Object marshal(Double value) {
if(value == Double.MIN_VALUE){
return null;
}
return value;
}
public Double unmarshal(Object value) {
return (Double)value;
}
}
它可以在模型类中这样使用:
@XmlRootElement
public class MyModelClass {
@XmlJavaTypeAdapter(type=double.class, value = DoubleAdapter.class)
double someField;
}
关于java - Jaxb 编码(marshal)原始类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47806608/