Java基础,请问这是为什么
前些日子按要求修改实体类的一个字段类型,把Double改成BigDecimal。没想到却出问题了,我把问题简化一下:
将Test类中的Double类型改成BigDecimal类型,TestMain中的设置值也改成new BigDecimal(10d)。
改了之后运行也是没问题的,于是发补丁,由于Test2代码没改过,所以只打包Test.class和TestMain.class。
但是这样运行就出问题了,提示是t1.getNum()不是Double类型什么的,所以我想问为什么这里的类型不能自动判断呢?
public class TestMain {
public static void main(String[] args) {
Test t1 = new Test();
t1.setNum(10d);
new Test2(t1);
}
}
class Test2{
public Test2(Test t1) {
StringBuffer str = new StringBuffer();
str.append("***").append(t1.getNum().doubleValue());
System.out.println(str);
}
}
class Test {
private Double num;
public Double getNum() {
return num;
}
public void setNum(Double num) {
this.num = num;
}
}将Test类中的Double类型改成BigDecimal类型,TestMain中的设置值也改成new BigDecimal(10d)。
改了之后运行也是没问题的,于是发补丁,由于Test2代码没改过,所以只打包Test.class和TestMain.class。
但是这样运行就出问题了,提示是t1.getNum()不是Double类型什么的,所以我想问为什么这里的类型不能自动判断呢?
...全文
相关推荐
JAVA 为什么要使用抽象类
JAVA 为什么要使用抽象类 使用抽象类有什么好处
Java的外部类为什么不能使用private和protected进行修饰的讲解
Java外部类为什么不能使用private和protected进行修饰的讲解Java是一种面向对象的编程语言,它的类修饰符有public、default、private、protected等,但是为什么
nodejs能干什么.既然NodeJS什么都能做,那为什么还要用JAVA.zip
node.js能干什么.既然NodeJS什么都能做,那为什么还要用JAVA.zip
为什么Java中继承多数是有害的
"Java设计中的继承问题"在Java编程中,继承是一个强大的特性,允许一个类(子类)从另一个类(父类)继承属性和方法。然而,"为什么Java中继承多数是有害的"这一观点表明,过度依赖实现继承(
浅谈java中为什么实体类需要实现序列化
在Java中,实现序列化的类需要实现java.io.Serializable接口,否则将会抛出异常。首先,为什么需要序列化?


