您必须使用有界类型参数:
public <T extends Number> double add (T one, T two){ return one.doublevalue() + two.doublevalue(); }请注意,它使用double作为返回类型,因为这是覆盖最大范围值的原始数字类型-
一个或两个参数也可以
double。请注意,
Number还具有
BigDecimal和
BigInteger作为子类,它们可以表示范围之外的值
double。如果您想正确处理这些情况,将会使方法变得更加复杂(您必须开始不同地处理不同类型)。


![如何编写一个通用的加数字方法[重复] 如何编写一个通用的加数字方法[重复]](http://www.mshxw.com/aiimages/31/569455.png)
