我有一个java方法,它可以使用Integer或Long参数正确工作。
有没有一种方法可以使用泛型来让方法接受任何一种类型的参数?
类似于:
public <? extends Number> calculateOutput (<? extends Number> inputNumber) {
return inputNumber + 1;
}发布于 2013-05-24 05:49:21
您可以通过声明一个T来扩展Number,从而获得非常接近的结果。
public <T extends Number> T calculateOutput (T inputNumber) {但这将允许任何Number,甚至Float或BigInteger。
此外,您将不能使用+,因为在这里使用泛型参数时自动装箱将不起作用。您必须单独测试用例(Long、Integer),但这会使这个方法在一开始就失去泛型的意义。
https://stackoverflow.com/questions/16724413
复制相似问题