添加两个数字,而不知道Java中的确切类型

时间:2016-10-07 13:32:48

标签: java numbers

我有两个数字,它们可能是整数浮点数或双数,如何在java中添加它们,数字对象不能互相添加。

我只能测试那里的类型(类)并逐个转换,它很丑陋(很多其他的话)和模糊,更好的想法?

2 个答案:

答案 0 :(得分:2)

您可以调用Number.doubleValue()并添加:

Number n1 = new Double(10.3d);
Number n2 = new Integer(12);
System.out.println(n1.doubleValue() + n2.doubleValue());

答案 1 :(得分:0)

如果精度损失可以接受,您可以添加它们的double(或甚至BigDecimal)值:

double result = a.doubleValue() + b.doubleValue();

否则,您将实现所有情况(您只能对常见类型执行此操作,因为Number是抽象类)。

老实说,这很可能是受孕不良的表现。