小编典典

Java Double初始化为0.0

java

我有一个Bean,其中有一个字段“
CustAmount”,该字段为double,我尝试测试该Bean,但我似乎不明白这一点:当我在本地计算机上运行时,实例化时它将初始化为0.0。当我在linux测试环境中运行相同的代码时,它保持为空。因此,如果我将CustAmount作为null发送到后端,则会得到一些数据,但是如果我将CustAmount作为0.0发送,则查询将在0.0的基础上完成,并且没有向我发送任何内容。

如果代码相同,这怎么可能呢?在我用Java 1.5编译新的MyBean()时,双可能仍然为null,而在1.6中,它将初始化为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 ..


阅读 2443

收藏
2020-11-26

共1个答案

小编典典

Java double字段将默认初始化为0.0。Java
Double字段将默认初始化为null。无论您使用哪种Java版本,以及在哪种环境下运行,这两个事实都是正确的。


如果您在不同的环境中看到不同的行为,那么最可能的解释是您正在各自的环境中执行不同的代码(或以不同的方式调用相同的代码)。发布一些显示问题的代码 可能
指向其他问题,但我对此表示怀疑。


根据您发布的代码,不可能custAmountnull。如果看到的是null,则您必须使用该代码的其他版本,null否则该代码必须来自其他来源。

2020-11-26