我有一个我无法弄清楚的业务需求。我有一个 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/