计算平均我有一个Java方法,该方法需要一个方法从ArrayList中<Float>和ArrayList <Integer>
ArrayList<Float>
作为参数。它计算ArrayList的平均值,并返回该值。
现在我想传递一个
ArrayList<Integer>
Java将不会允许这样做,将有可能在C++中。
所以,只是想知道除了创建一个只有类型不同的相同的类,传递给每个方法的参数之外,还有哪些可用的替代方法。
计算平均我有一个Java方法,该方法需要一个方法从ArrayList中<Float>和ArrayList <Integer>
ArrayList<Float>
作为参数。它计算ArrayList的平均值,并返回该值。
现在我想传递一个
ArrayList<Integer>
Java将不会允许这样做,将有可能在C++中。
所以,只是想知道除了创建一个只有类型不同的相同的类,传递给每个方法的参数之外,还有哪些可用的替代方法。
更改签名就可以接受:
List<? extends Number>
,而不是像这样:
public Double avg(List<? extends Number> list) {
// calculate average here
}
你的方法应该采取List<? extends Number>
作为参数,得到的数字的浮点值,并计算它们的平均值。
List<? extends Number>
意思是:某个未知类型的列表,或是正在扩展的Number。
你可以使用一个方法声明中这样的:
public Number average(Collection<? extends Number> values)
{
...
}