簡體   English   中英

Java Double初始化為0.0

[英]Java Double getting initialized to 0.0

我有一個Bean,其中有一個字段“ CustAmount”,該字段為double,我嘗試測試該Bean,但我似乎不明白這一點:當我在本地計算機上運行時,實例化時它將初始化為0.0。 當我在linux測試環境中運行相同的代碼時,它保持為空。 因此,如果我將CustAmount作為null發送到后端,則會得到一些數據,但是如果我將CustAmount作為0.0發送,則查詢將在0.0的基礎上完成,並且沒有向我發送任何內容。

如果代碼相同,這怎么可能呢?在我用Java 1.5編譯新的MyBean()時,任何可能性都可能使double保持為空,而在1.6中,double會初始化為0.0。

我不知道這是否發生在兩個Java版本中,但這就是我唯一的區別。

感謝您的任何提示。

添加代碼段:

public class MyBean {

private double custAmount;

    public void setCustAmount(double custAmount) {
        this.custAmount = custAmount;
    }
public double getCustAmount() {
        return custAmount;
    }

}

我只是做

MyBean mybean =  new MyBean();

它不是Double,而是Double。 Syed ..

Java double字段將默認初始化為0.0 Java Double字段將默認初始化為null 無論您使用哪種Java版本,以及在哪種環境下運行,這兩個事實都是正確的。


如果您在不同的環境中看到不同的行為,那么最可能的解釋是您正在各自的環境中執行不同的代碼(或以不同的方式調用相同的代碼)。 發布一些顯示問題的代碼可能指向其他問題,但我對此表示懷疑。


根據您發布的代碼, custAmountnull是不可能的。 在看到null的情況下,您必須使用該代碼的其他版本,否則null必須來自其他來源。

我有一個類似的問題。 我以為我的Long初始化為0。但這不是初始化本身,而是從頁面上的<p:selectOneMenu />開始的。

            <p:selectOneMenu value="#{myBean.myLongValue}">
                <f:selectItem value="#{null}" itemValue="#{null}" itemLabel="-" />
                <f:selectItems ... />
            </p:selectOneMenu>

因此,如果您沒有通過表單進行設置,請嘗試檢查您的頁面。

暫無
暫無

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

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