簡體   English   中英

無法在Java getter方法中讀取BigDecimal屬性

[英]Not able to read BigDecimal property in java getter method

我在屬性文件中有一個屬性discount = 30,並在jave文件中聲明如下:

private BigDecimal discount;
public void setDiscount(BigDecimal discount) {
    this.discount = discount;
}
public BigDecimal getDiscount() {
    return discount;
}

當我嘗試獲取其值時,getDiscount()返回NULL。 但是我只需要BigDecimal就可以了。 我不必將其聲明為String或double並進行類型轉換,盡管這將起作用。 除了Big Decimal之外,使用String或double都可以正常工作。 請幫助我解決此問題,或者BigDecimal在這種情況下不起作用的原因是什么?

它認為它可以正常工作,但是如果返回null ,則在調用getter之前沒有設置它。 如果在調用getter之前不能確保已設置該值,則可以在類中實例化該值。 例如0。

private BigDecimal discount = new BigDecimal(0);

如果調用設置方法,則必須將值轉換為long或double值,然后使用BigDecimal.valueOf()

在屬性文件中,它始終以字符串形式返回。

從屬性文件獲取數據時,將其轉換為BigDecimal,然后使用它。

SelectClient c= new SelectClient();
BigDecimal b = new BigDecimal(prop.getProperty("data"));
c.setDiscount(b);
System.out.println(c.getDiscount());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM