我有一个java方法,可以使用Integer或Long的参数正确工作。
有没有办法使用泛型来获得一个接受任何一种类型参数的方法?
类似的东西:
public <? extends Number> calculateOutput (<? extends Number> inputNumber) {
return inputNumber + 1;
}
答案 0 :(得分:2)
您可以通过宣布T
延长Number
来近距离接触。
public <T extends Number> T calculateOutput (T inputNumber) {
但这将允许任何Number
,甚至Float
或BigInteger
。
此外,您将无法使用+
,因为此处的自动装箱功能不适用于通用参数。您必须单独测试这些案例(Long
,Integer
),但这样做会使首次使用此方法失败。