我有两个数字它们可能是整型float或double,如何在java中添加它们,Number对象不能相互添加。在Java中不知道确切类型添加两个数字
我只能测试那里的类型(类)和一个一个的转换,这是丑陋的(很多如果其他)和晦涩的,任何更好的主意?
我有两个数字它们可能是整型float或double,如何在java中添加它们,Number对象不能相互添加。在Java中不知道确切类型添加两个数字
我只能测试那里的类型(类)和一个一个的转换,这是丑陋的(很多如果其他)和晦涩的,任何更好的主意?
您可以调用Number.doubleValue(),并添加:
Number n1 = new Double(10.3d);
Number n2 = new Integer(12);
System.out.println(n1.doubleValue() + n2.doubleValue());
如果精度的损失是可以接受的,您可以添加自己的双(甚至BigDecimal)的值:
double result = a.doubleValue() + b.doubleValue();
否则,将实现所有的情况(你只能对普通类型进行操作,因为Number是一个抽象类)。
说实话,这很可能是一个坏概念的标志。