我有一个无法解决的业务需求。我有一个Java类,其中使用这样的BigDecimal初始化货币值。

public class EncounterCharge {

    BigDecimal TotalCharge = new BigDecimal(0);


我有一个吸气剂和二传手。 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对其进行注释。如果需要填充该字段,则必须将该值设置为null。这是因为默认情况下,@XmlElement的状态为required,因此它会忽略false值。

07-24 09:30