首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java接受任何SubType作为参数

Java接受任何SubType作为参数
EN

Stack Overflow用户
提问于 2013-05-24 05:43:58
回答 1查看 643关注 0票数 1

我有一个java方法,它可以使用Integer或Long参数正确工作。

有没有一种方法可以使用泛型来让方法接受任何一种类型的参数?

类似于:

代码语言:javascript
复制
public <? extends Number> calculateOutput (<? extends Number> inputNumber) {
    return inputNumber + 1;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-24 05:49:21

您可以通过声明一个T来扩展Number,从而获得非常接近的结果。

代码语言:javascript
复制
public <T extends Number> T calculateOutput (T inputNumber) {

但这将允许任何Number,甚至FloatBigInteger

此外,您将不能使用+,因为在这里使用泛型参数时自动装箱将不起作用。您必须单独测试用例(LongInteger),但这会使这个方法在一开始就失去泛型的意义。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16724413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档