gpt4 book ai didi

java - 对同一方法使用不同的数据类型

转载 作者:行者123 更新时间:2023-12-02 02:15:07 25 4
gpt4 key购买 nike

我想在一个方法中分别使用 double 值和 int 值作为该方法的参数,如何实现?该方法以相同的方法将两个整数和两个 double 相乘。输出应该是两行,一行用于整数,另一行用于 double 值

最佳答案

最有效的方法是重载该方法:

void foo(int i)
void foo(double i)

但是将 int 分配给 double 也是有效的,因此您也可以只提供:

void foo(double i)

接受intdouble

重载的替代方法是使用接受泛型类型的方法定义泛型类:

public class Bar<T extends Number>{
public void foo(T t){
...
}
}

你可以这样实例化它们:

Bar<Integer> barInt = new Bar<>();
barInt .foo(3);
Bar<Double> barDouble = new Bar<>();
barDouble.foo(3);

请注意,数字包装器作为原始计数器部件消耗更多内存。
所以第一种重载方法确实是最有效的。

而且你还有很多其他方法来解决这个问题。所有这些都表明您应该根据您的要求使用某种方式。

关于java - 对同一方法使用不同的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49409692/

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