javabean Double类型字段为设置null时 会被转为0.00,我要想得到null怎么办?

javabean 代码:private Double testDouble;
public Double getTestDouble() {
return testDouble;
}

public void setTestDouble(Double testDouble) {
this.testDouble = testDouble;
}

当setTestDouble(null)时 getTestDouble会为0,我要的是null
高手给指点指点,谢谢了

第1个回答  推荐于2017-12-16
我不知道你用的什么编译器,给double赋值null编译都通不过。
double本身就不能为null
你可以定义一个object的变量if double==0 object=null本回答被网友采纳
第2个回答  2013-04-02
我刚刚测试了下怎么是输出null? 完全复制的你的代码,你已经定义的是Double型的对象类(double型包装类)了,是可以为null的。追问

我是用java hibernate建数据模型
@aPerformance()
@aComment("xxx率(%)")
@Column(name = "TESTDOUBLE",columnDefinition="NUMBER", nullable = true)
private Double testDouble;

当hibernate映射插入到表里的值就为0了

追答

你把columnDefinition设为默认值试试。你定义的值为NUMBER,而要为null的话肯定要是一个对象类型。基本double类型的话会自动转化为默认0.00;

本回答被提问者采纳
第3个回答  2013-04-02
public class DoubleTest {

private Double testDouble;
public Double getTestDouble() {
return testDouble;
}

public void setTestDouble(Double testDouble) {
this.testDouble = testDouble;
}
/**
* @param args
*/
public static void main(String[] args) {
DoubleTest test = new DoubleTest();
test.setTestDouble(null);
System.out.println(test.getTestDouble() == null);
System.out.println(test.getTestDouble());
}
}

输出就是null啊

第4个回答  2013-04-02
在写个方法,public String getNullValue(){
setTestDouble(null);
Double a = getTestDouble();
if (a == 0.00){
return null;
}
}
相似回答