2016-10-07 31 views
0

我有两个数字它们可能是整型float或double,如何在java中添加它们,Number对象不能相互添加。在Java中不知道确切类型添加两个数字

我只能测试那里的类型(类)和一个一个的转换,这是丑陋的(很多如果其他)和晦涩的,任何更好的主意?

回答

2

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

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

如果精度的损失是可以接受的,您可以添加自己的双(甚至BigDecimal)的值:

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

否则,将实现所有的情况(你只能对普通类型进行操作,因为Number是一个抽象类)。

说实话,这很可能是一个坏概念的标志。