java - 未在 XML 中显示未设置 BigDecimal

标签 java xml

我有一个我无法弄清楚的业务需求。我有一个 java 类,其中我使用 BigDecimal 初始化货币值,如下所示。

public class EncounterCharge {

    BigDecimal TotalCharge = new BigDecimal(0);

我有一个 getter 和 setter。 Setter 是 String,getter 返回 BigDecimal

/**
 * @return the totalCharge
 */
@XmlElement(name = "TotalCharge")
public BigDecimal getTotalCharge() {
    return TotalCharge;
}
/**
 * @param totalCharge the totalCharge to set
 */
public void setTotalCharge(String totalCharge) {
    TotalCharge = new BigDecimal(totalCharge).setScale(2, BigDecimal.ROUND_HALF_UP);
}

问题是,企业希望未设置的 BigDecimal 值不会出现在 XML 中。目前它是这样的<totalCharges>0</totalCharges>.我们根本不希望这种情况出现。但是,如果显式设置为 0,也没关系。有什么想法吗?

最佳答案

@XmlTransient 进行注释。如果需要填充该字段,则必须将该值设置为空。这是因为@XmlElement默认情况下,有 required状态为false所以它忽略 null值。

关于java - 未在 XML 中显示未设置 BigDecimal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28158728/

相关文章:

java - 光标窗口 : Window is full

java - 多级 stub

java - OBD II 命令获取距离

xml - 如何检索选定节点在另一个节点集中的位置

c# - 在 Html.DropDownList 中显示 XML 文件内容

Java:创建带有列标题的临时文件的最快方法

java - 无法在生产中启动 Sunspot Solr

xml - 如何在 xml 中做一个枚举

xml - Apache commons 配置忽略最外层的 XML 标签?为什么?难道我做错了什么?

c# - 查询 XML 以提取一条记录并将数据绑定(bind)到各个文本 block