gpt4 book ai didi

Java 接受任何子类型作为参数

转载 作者:行者123 更新时间:2023-11-30 04:22:23 27 4
gpt4 key购买 nike

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

有没有办法使用泛型来拥有接受任一类型参数的方法?

类似于:

public <? extends Number> calculateOutput (<? extends Number> inputNumber) {
return inputNumber + 1;
}

最佳答案

您可以通过声明 T 来扩展 Number 来非常接近。

public <T extends Number> T calculateOutput (T inputNumber) {

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

此外,您将无法使用 +,因为自动拆箱在此处无法使用通用参数。您必须单独测试这些情况(LongInteger),但这会破坏该方法一开始就具有通用性的意义。

关于Java 接受任何子类型作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16724413/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com