我有一个无法解决的业务需求。我有一个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
值。