【发布时间】:2010-04-27 13:05:44
【问题描述】:
我有两个号码。例如:
Number a = 2;
Number b = 3;
//Following is an error:
Number c = a + b;
为什么 Numbers 不支持算术运算?无论如何我将如何在java中添加这两个数字? (当然我是从某个地方得到它们,我不知道它们是整数还是浮点数等)。
【问题讨论】:
-
他们真的是这样分配的吗?我的意思是,数字 a = 原始数字有效吗?如果您从某个返回“something extends Number”的方法中获取它们,您实际上可以检查返回的 Number 是否是 Double 或 Float 或 BigDecimal 的实例。
-
@Tedil 是的,从 Java 1.5 开始,这种分配是可能的,这要归功于称为“自动装箱”的功能。原始数字
2是一个int,它被装箱到一个Integer,它是Number的一个子类。
标签: java